innodb作為事務型數(shù)據(jù)庫的首選引擎,支持ACID事務,支持行級鎖定,支持外鍵。并且InnoDB默認地被包含在MySQL二進制分發(fā)中,已經(jīng)成為絕大多數(shù)OLTP系統(tǒng)的直選存儲引擎。
索引作為數(shù)據(jù)庫開發(fā)的一個重要方面,對于訪問性能以及能否支持高并發(fā),高tps的應用,起著決定性作用。Innodb存儲引擎支持B+樹索引以及自適應哈希索引,其中后者是由innodb引擎根據(jù)表的使用情況自動生成,無法進行人為創(chuàng)建。
B+樹索引是目前關(guān)系型數(shù)據(jù)庫中最常見最有效的索引,是基于二分查找而形成的一棵平衡術(shù)結(jié)構(gòu)。我們來逐步了解。
MySQL就普遍使用B+Tree實現(xiàn)其索引結(jié)構(gòu)
索引的主要作用:
1、快速定位記錄
2、避免排序和使用臨時表
3、可以將隨機IO變?yōu)轫樞騃O