Myisam和Innodb的區別


1、myisam只支持表級鎖 Innodb支持行級鎖
2、myisam不支持事務 Innodb支持事務
3、myisam不支持外鍵 Innodb支持外鍵
4、myisam支持全文索引,Innodb不支持
5、myisam本身存儲了表的總數據行,Innodb沒有存儲,查總行數myisam更快,如果加了查詢條件兩者就沒有區別了

Myisam和Innodb究竟該怎么選擇
數據庫有外鍵嗎?
需要事務支持嗎?
需要全文索引嗎?

Innodb的行鎖模式有以下幾種:共享鎖,排他鎖,意向共享鎖(表鎖),意向排他鎖(表鎖),間隙鎖。
注意:當語句沒有使用索引,innodb不能確定操作的行,這個時候就使用的意向鎖,也就是表鎖

聚簇索引和非聚簇索引

聚簇索引主要應用於Innodb
非聚簇索引主要應用於Myisam

表數據按照索引的順序來存儲的,也就是說索引項的順序與表中記錄的物理順序一致。對於聚集索引,葉子結點即存儲了真實的數據行,不再有另外單獨的數據頁。 在一張表上最多只能創建一個聚集索引,因為真實數據的物理順序只能有一種。

非聚集索引。表數據存儲順序與索引順序無關。對於非聚集索引,葉結點包含索引字段值及指向數據頁數據行的邏輯指針,其行數量與數據表行數據量一致。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM