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事務...