常用Mysql儲存引擎

2021-09-29 08:23:07 字數 1998 閱讀 9751

innodb是事務型資料庫的首選引擎,支援事物安全表(acid),支援行鎖定和外來鍵。mysql5.5.5之後,innodb作為預設引擎。

innodb主要特性:

1.innodb給mysql提供、回滾和崩潰恢復能力的事物安全(acid相容)儲存引擎。innodb鎖定在行級並且也在select語句中提供乙個類似oracle的非鎖定讀。這些功能增加了多使用者部署和效能。在sql查詢中,可以自由地將innodb型別的表與其他mysql的表的型別混合起來,甚至在同乙個查詢中也可以混合

(acid)介紹:

2.innodb是為處理巨大資料量的最大效能設計。它的cpu效率可能是任何其他基於磁碟的關聯式資料庫引擎所不能匹敵的。

3.innodb儲存引擎完全與mysql伺服器整合,innodb儲存引擎在主記憶體中快取資料和索引而維持它自己的緩衝池。innodb將它的表和索引存在乙個邏輯表空間中,表空間可以包含數個檔案(或原始磁碟分割槽)。這與myisam表不同,比如在myisam表中每個表被存在分離的檔案中。innodb表可以使任何尺寸,即使在問檔案尺寸被限制為2gb的作業系統上。

4.innodb支援外來鍵完整性約束(foreign key)

儲存表中的資料時,每張表的儲存都按主鍵順序存放,如果沒有顯示在表定義時指定主鍵,innodb會為每一行生成乙個6b的rowid,並以此作為主鍵。

5.innodb被用在眾多需要高效能的大型資料庫站點上

innodb不建立目錄,使用innodb時,mysql將在mysql資料目錄下名為ibdata1的10mb大小的自動擴充套件是資料檔案,以及兩個名為ib_logfile()和ib_logfile1的5mb大小的日誌檔案。

myisam基於isam的儲存引擎,並對其進行擴充套件。它是在web、資料儲存和其他應用環境下最常使用的儲存引擎之一。myisam擁有較高的插入、查詢速度,但不支援事務。mysql5.5.5之前的版本中,myisam是預設儲存引擎。myisam主要特性有:

1.大檔案在支援大檔案的檔案系統和作業系統上被支援。

2.當把刪除、更新及插入操作混合使用的時候,動態尺寸的行產生更少碎片。這要通過合併相鄰被刪除的塊,以及若下乙個塊被刪除,就擴充套件到下一塊來自動完成

3.每個myisam表最大索引數是64,這可以通過重新編譯來改變。每個索引最大的列數是16個.

4.最大的鍵長度是1000b,這也可以通過編譯來改變。對於鍵長度超過250b的情況,乙個超過1024b的鍵將被用上。

5.blob和text列可以被索引

6.null值被允許在索引的列中。這個值每個鍵的0-1個位元組。

7.所有數字鍵值以高位元組優先被儲存以允許乙個更高的索引壓縮。

8.每表乙個auto_increment列的內部處理。myisam為insert和update操作自動更新這一列。這使得auto_increment列更快(至少10%)。在序列頂的值被刪除之後就不能再利用。

9.可以把資料檔案和索引檔案放在不同目錄。

10.每個字元列可以有不同的字符集。

11.有varchar的表可以固定或動態記錄長度。

12.varchar和char列可以多達64kb。

memory儲存引擎將表中的資料儲存到記憶體中,為查詢和引用其他表資料提供快速訪問。

memry主要特性:

1.memory表的每個表可以有多達32個索引,每個索引16列,以及500b的最大鍵長度。

2.memory儲存引擎執行hash和btree索引。

3.可以在乙個memory表中有非唯一鍵

4.memory表使用乙個固定的記錄長度格式。

5.memory不支援blob或text列。

6.memory支援auto_increment列和對可包含null值得列的索引。

7.memory表在所有客戶端之前共享(就像其他任何非temporary表)。

8.memory表內容被存在記憶體中,記憶體使memory表和伺服器在查詢處理時的空閒中建立的內部表共享。

9.當不再需要memory表的內容時,要釋放被memory表使用的記憶體,應該執行delete from 或 truncate table,或者刪除整個表(使用drop table)。

MYSQL常用儲存引擎

一 innodb 儲存引擎 innodb 儲存引擎自 mysql 5.5 版本起被指定為預設的儲存引擎,用於完成事務 回滾 崩潰修復和多版本併發控制的事務安全處理。同時也是 mysql中第乙個提供外來鍵約束的表引擎,尤其對事務處理的能力,是 mysql 其他儲存引擎所無法與之比擬的。innodb 的...

MySQL常用的儲存引擎

mysql常用的儲存引擎為myisam innodb memory merge,其中innodb提供事務安全表,其他儲存引擎都是非事務安全表。myisam是mysql的預設儲存引擎。myisam不支援事務 也不支援外來鍵,但其訪問速度快,對事務完整性沒有要求。innodb儲存引擎提供了具有提交 回滾...

常用的Mysql儲存引擎

下述儲存引擎是最常用的 myisam 預設的mysql外掛程式式儲存引擎,它是在web 資料倉儲和其他應用環境下最常使用的儲存引擎之一。注意,通過更改storage engine配置變數,能夠方便地更改mysql伺服器的預設儲存引擎。innodb 用於事務處理應用程式,具有眾多特性,包括acid事務...