码迷,mamicode.com
首页 > 数据库 > 详细

SQL索引的原理及优化策略

时间:2017-04-23 14:58:57      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:方便   了解   abs   数据库优化   数据   索引   数据库   art   经验   

之前小公司数据量比较小,没有积累相关的经验,面试了个大公司被问尿了。

问题:用没用过索引?有没有数据库优化经验?

先从索引的原理开始看起。

优质文章传送门:http://blog.codinglabs.org/articles/theory-of-mysql-index.html

我做下自己的重点总结:

1.myISAM引擎和InnoDB都使用B+Tree结构的索引。

2.B+Tree叶结点存储数据并指向相邻的叶结点方便范围查找。

3.myISAM的B+树叶结点存储的是数据地址,顾称为非聚集索引。

4.InnoDB的B+树叶节点直接存储的是数据,顾称为聚集索引。

5.InnoDB的要求表拥有唯一的主键,没有指明则找表内唯一性列,如果找不到就生成一个隐含字段,6字节,长整型。

6.InnoDB的辅助索引存储的是主键的值。

了解到基本原理可以总结出几条优化建议:

1.主键的单调性,主键随机生成会导致维护B+树频繁的分裂调整,降低性能。

2.所有的辅助索引都会引用主键,所以主键太长会使辅助索引过大。

SQL索引的原理及优化策略

标签:方便   了解   abs   数据库优化   数据   索引   数据库   art   经验   

原文地址:http://www.cnblogs.com/fastLearn/p/6752407.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!