4 MySQL儲存引擎

2021-10-25 03:31:34 字數 1702 閱讀 3654

# 檢視當前mysql提供的儲存引擎:

# 檢視當前mysql預設的儲存引擎

1、innodb儲存引擎*

innodb是mysql的預設事務型引擎,它被設計用來處理大量的短期(short-lived)事務。除非有非常特別的原因需要使用其他的儲存引擎,否則應該優先考慮innodb引擎。

2、myisam儲存引擎*

myisam提供了大量的特性,包括全文索引、壓縮、空間函式(gis)等,但myisam不支援事務和行級鎖,有乙個毫無疑問的缺陷就是崩潰後無法安全恢復。

3、archive引擎

archive檔案儲存引擎只支援insert和select操作,在mysql5.1之前不支援索引。

archive表適合日誌和資料採集類應用。

根據英文的測試結論來看,archive錶比myisam表要小大約75%,比支援事務處理的innodb錶小大約83%。

4、blackhole引擎

blackhole引擎沒有實現任何儲存機制,它會丟棄所有插入的資料,不做任何儲存。但伺服器會記錄blackhole表的日誌,所以可以用於複製資料到備庫,或者簡單地記錄到日誌。但這種應用方式會碰到很多問題,因此並不推薦。

5、csv引擎

csv引擎可以將普通的csv檔案作為mysql的表來處理,但不支援索引。

csv引擎可以作為一種資料交換的機制,非常有用。

csv儲存的資料直接可以在作業系統裡,用文字編輯器,或者excel讀取。

6、memory引擎

如果需要快速地訪問資料,並且這些資料不會被修改,重啟以後丟失也沒有關係,那麼使用memory表是非常有用。memory表至少比myisam表要快乙個數量級,但是因為現在nosql資料庫已經占領市場,所以memory就顯得較為雞肋。

7、federated引擎

federated引擎是訪問其他mysql伺服器的乙個**,儘管該引擎看起來提供了一種很好的跨伺服器的靈活性,但也經常帶來問題,比如無法進行條件查詢,只能簡單的將表關聯起來等等,因此預設是禁用的。

myisam

innodb

外來鍵*不支援

支援事務*

不支援支援

行表鎖*

表鎖,即使操作一條記錄也會鎖住整個表,不適合高併發的操作

行鎖,操作時只鎖某一行,不對其他行有影響,適合高併發的操作

快取*只快取索引,不快取真實資料

不僅快取索引還快取真實資料,對記憶體要求較高,而且記憶體大小對效能有絕對性的影響

關注點節省資源、消耗少、簡單業務

併發寫、事務、更大資源

預設安裝yy

預設使用ny

自動系統表使用yn

MySQL學習筆記(4) 儲存引擎

選擇表的儲存引擎的標準 是否需要事務支援。是否支援外來鍵。併發量的要求。錯誤恢復處理。是否支援某些功能。表型別 預設的伺服器表型別,通過my.ini可以配置 default storage engine innodb 利用表屬性 engine 引擎型別 innodb myisam區別儲存的檔案的方式...

mysql4種儲存引擎

1 myisam儲存引擎 不支援事務 也不支援外來鍵,優勢是訪問速度快,對事務完整性沒有 要求或者以select,insert為主的應用基本上可以用這個引擎來建立表 支援3種不同的儲存格式,分別是 靜態表 動態表 壓縮表 靜態表 表中的字段都是非變長字段,這樣每個記錄都是固定長度的,優點儲存非常迅速...

4 MySQL基礎之常用函式

測試字串函式 char length 得到字串的字元數 select char length abc length 返回字串的長度 select length abc concat s1,s2,s3 將字串合併成乙個字串 select concat a b c 如果字串中包含null,返回拼接結果就...