在inoodb这本书上,索引分为两大部分,聚集索引和辅助索引,聚集索引是根据主键来建立索引的,所以只能有一个聚集索引.当然实现都是B+树来进行实现的.

上面都是事后加索引,当然也可以创建表时直接加索引.如:


一个表只能有一个聚集索引,当主键确定时,会自动根据主键创建一个聚集索引.一个表也只能有一个聚集索引,聚集索引根据B+树来建立,叶子节点存放的即是整张表的行记录数据,这样表中数据也是索引的一部分,所以能很快的针对范围的查询.
还有主键索引和唯一索引,好像是添加主键就自动加了吧,猜的.唯一索引我猜也是.
一般就是添加普通索引和联合索引.


如何正确的添加索引.

还有(4)选择选择性大的,如姓名这种,性别这种就不要,因为性能不会很高
(5)更新太频繁的,很好说,更新b+树很麻烦啊

组合索引的规则


有like时,碰到%就不能使用了索引了,所以最后一个应该是b的%之前使用了(-也不行),c被卡住了,不能使用.

网友评论