MySQL 5.7 InnoDB引擎簡介

feelpurple發表於2016-03-24
InnoDB是MySQL中具有可靠性和高效能的一種通用儲存引擎。

優點:

1、DML操作遵循ACID模型(原子性、一致性、隔離性和永續性),支援事務,支援crash-recovery特性(當MySQL發生故障重啟後,對於InnoDB表,沒有完成的事務將透過redo日誌重新進行,已經提交但是沒有寫到資料檔案中的資料,將從doublewrite buffer中重新構建)以保護資料。

2、InnoDB buffer pool 快取被訪問的表和索引資訊,經常使用的資料直接從記憶體中讀取。

3、inserts,update,deletes操作被一種稱為change buffering的機制所最佳化。InnoDB不僅允許多併發讀寫同一張表,它還會快取發生改變的資料,最佳化磁碟I/O。

4、當資料庫執行大表的長時間查詢且反覆訪問相同表的相同行時,一種叫做Adaptive Hash Index的特性使這些查詢更快,就像資料從雜湊表中查詢出來一樣。

5、可以壓縮表和相關的索引。

6、可以對效能和可用性造成很小影響地建立和刪除索引。

7、可以很快TRUNCATE掉一個file_per_table表空間,釋放出磁碟空間供作業系統使用,而不必釋放出僅能供InnoDB所重用的系統表空間。

8、支援行級鎖和一致性讀,提高多使用者的併發性和效能。

9、支援主鍵,提高查詢效能。

10、為了保持資料的完整性,InnoDB也支援外來鍵。

11、你可以將InnoDB表與MySQL其他儲存引擎的表自由組合在一起使用。例如,在一個SQL中,你可以關聯一張InnoDB表和一個記憶體表。

12、在處理大量資料的時候,InnoDB引擎可以有效的發揮CPU效率和提升效能。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26506993/viewspace-2063291/,如需轉載,請註明出處,否則將追究法律責任。

相關文章