1. 程式人生 > >InnoDB存儲引擎

InnoDB存儲引擎

ebo 版本並發控制 證明 特點 前臺 buffer pro 外鍵 緩沖

InnoDB存儲引擎支持事務,其設計目標主要是面向在線事務處理(OLTP)的應用。其特點是是行鎖設計、支持外鍵,並支持類似Oracle的非鎖定讀,即

默認讀取操作不會產生鎖。從Mysql數據庫5.5.8版本開始,InnoDB 是默認的存儲引擎。

InnoDB通過使用多版本並發控制(MVCC)來獲得高並發性,並實現SQL標準的4種隔離級別,默認為REPEATABLE 級別。同時,使用一種被稱為next-key

locking的策略來避免幻讀(phantom)現象的產生。除此之外,InnoDB存儲引擎還提供插入緩沖(insert buffer)、二次寫(double write)、自適應哈希索引

(adaptive hash index)、預讀(read ahead)等高性能和高可用功能。

對於表中數據的存儲,InnoDB存儲引擎采用了聚集(clustered)的方式,因此每張表的存儲都是按照主鍵的順序進行存放。如果沒有顯示地在表定義時指定

主鍵,InnoDB存儲引擎會為每一行生成一個6字節的ROWID,並以此為主鍵。

InnoDB存儲引擎是Mysql數據庫最為常用的一種引擎,而Facebook、Google、Yaohoo 等公司的成功應用已經證明了InnoDB存儲引擎具備的高可用、高性能

以及高可擴展性。在以後的章節我會根據《Mysql技術內幕 InnoDB存儲引擎》給大家總結InnoDB,並加上自己的理解和一些查閱的資料。


(OLTP) On-Line Transaction Processing聯機事務處理過程

也稱為面向交易的處理過程,其基本特征是前臺接收的用戶數據可以立即傳送到計算中心進行處理,並在很短的時間內給出處理結果,是對用戶操作快速響應的方式之一。

InnoDB存儲引擎