PHP程序员学习笔记|如何学习PHP

个人总结的PHP学习方法


mysql如何建立合适的索引

2017-6-28 0phpcom 经典文章


在mysql数据库中,其实建索引也是一门学问,一个表中,索引并不是越多越好,而是适合你的业务才最重要。那么建立索引的时候,我们应该从以下几点去考量。


1. 索引字段越小越好,像varchar(10)肯定比text类型的效果要好。


2. 经常需要作为where、group by、order by等条件的时候,要为该字段建立索引。


3. 当要建立联合索引的时候,离散度较大的列放到前面。打个比方,如果要建立一个姓名(name)和年龄(age)的联合索引,肯定要把name放到前面(index(name,age)),因为age的范围最多不会超过0-120(全世界没几个人能活到120岁以上吧),而name的情况就有成千上万种了。放到前面的好处就是第一次就能筛掉一大批数据,这样更有利查询的效率。


4. 只给经常作为查询条件的字段建立索引,因为索引并不是越多越好,多了首先会增加磁盘开销,然后查询的时候,mysql引擎也要去判断该使用那个索引,再就是索引多了,对update、insert、delete的效率也会造成影响。


总之,建立索引的时候也要认真思考,才能让表结构更加完美。

« mysql表垂直分割的原则 | 分析为什么mysql中like模糊查询效率低»
发表评论:


订阅Rss