InnoDB存儲引擎的主要優點

InnoDB是一種可靠性高的高性能MySQl數據庫存儲引擎,主要優點包括:

它遵循ACID模式設計,具有與事務(Transactions),回滾和保護用戶數據的崩潰恢復能力。
InnoDB 提供行級鎖(Locking on row level),擁有與Oracle類似的不加鎖讀取(Non-locking read in SELECTs)。InnoDB鎖定在行級,并在SELECT語句提供一個Oracle風格一致的非鎖定讀。這些特色增加了多用戶并發性和性能表現。沒有在InnoDB中擴大鎖定的需要,因為在InnoDB中行級鎖定適合非常小的空間。
InnoDB表基于主鍵在磁盤上安排數據,有優化的常見查詢功能。每一個InnoDB表都有一個叫做聚集索引的主鍵索引,能盡可能減少數據查詢次數。
為了維護數據完整性,InnoDB還支持外鍵完整性約束。
可以與其它MySQL存儲引擎混合使用InnoDB表。例如,能用一個結合操作在一個單獨查詢中綜合源自InnoDB和InnoDB表的數據。
InnoDB是針對提高CPU效率而設計的,并且在處理大數據時表現最佳。

顯示存儲引擎的命令

可以在登陸MySQL數據庫后,通過下述命令確定自己的服務器是否支持InnoDB:

mysql> SHOW ENGINESG

“SHOW ENGINES”能顯示與服務器存儲引擎有關的信息。這對確實一種存儲引擎是否得到支持或查看默認引擎很重要。查詢結果顯示的存儲引擎如果是“YES”,表示支持;而“DEFAULT”代表默認存儲引擎。

InnoDB 存儲引擎的特點

InnoDB存儲引擎用自己的緩沖池維護主內存里的緩存數據和索引。InnoDB將它的表和索引存儲在表空間里,可以由幾個文件(或原始磁盤分區)組成。這一點與使用不同文件存儲數據的MyISAM表明顯不同。InnoDB表可以非常大,操作系統所在的文件被限制在2GB。

在服務器支持InnoDB的情況下,Windows Essentials installer使InnoDB成為Windows上MySQL的默認表。