mysql 优化(3)聚簇索引和非聚簇索引

聚簇索引和非聚簇索引  是btree 大类

按照算法 btree  

hash散列(memory引擎)在内存里


mysam  

innodb


组织数据上有区别  虽然都是btree 按照算法分


mysam    指向改行磁盘位置  索引和数据独立  非聚簇 相互独立

innodb     指向引用  本身有数据全部 聚簇 聚在这!   因为既存储主键值 又存储行数据 因此称为 聚簇索引

主索引藏着改行数据 称为聚簇索引 , 次索引指向对主键的引用 。 

没有主键会去找是不是有一个unique key ... 没有 unique key  系统会生成一个row id  
 不回行  不规则插入会造成页分裂 


innodb 

优势: 根据主键查询条目比较少时,不用回行(数据就在主键节点下)

劣势: 如果碰到不规则数据插入时,造成频繁的页分裂


分别规则插入10000条数据,不规则插入10000条数据

观察时间的差异,体会聚簇索引,页分裂的影响.  










你可能感兴趣的:(mysql 优化(3)聚簇索引和非聚簇索引)