MySQL索引设置的原则

MySQL作为一款开源的关系型数据库,因为其文档完善,资料易于查找,已经成为最受欢迎的开源的关系型数据库了。
众所周知我们在使用数据库的时候适当的建立索引的对于数据的查找具有很大的意义,如果索引设置的得当的话,将会很大程度上提高我们的查询效率。既然索引在Mysql中战友如此重要的地位,那么Mysql建立索引的原则的重要性就显得不言而喻,今天就简单的介绍一下Mysql中对于建立索引需要注意的一些原则:

1. 搜索的索引列
要建索引的列不一定是所要结果的列,简单的说就是where条件中出现的列需要索引,或者链接子句用到的列需要索引,而只在select中出现的列不需要索引。

2.使用唯一索引
考虑某列中值的分布,索引列的基数越大越好,例如存放出生日期的列具有不同的值,很容易区分各行;而存放性别的列,只有两个值,所以对这种列加索引也没有什么价值,不管搜哪个值,都是大约一半的数据量。

3.使用短索引
如果对字符串列进行索引,应该指定一个前缀长度,只要有可能就应该这样做。例如,有一个char(200)的列,如果前10~20个字符内,多数值是唯一的,那么就不要对整个列进行索引(时刻考虑对资源的占用问题)。

4.利用最左前缀
在创建一个n列的索引时,实际是创建了mysql可利用的n个索引。多列索引可以起几个索引的作用,因为可以利用索引中最左边的列集来匹配行。这样的列集称为最左前缀。

5.不要过度索引
什么列都建索引是错误的,比如从来都不查询的列,建上索引后一次也不用没什么价值,反而占用了额外的资源。

然而对于数据量不大的表可以不用建立索引,对于中大级别的数据量应当选择建立合适的索引。特大型的数据量,此时首先应该考虑的是分库分表,这又有很多要说的了,与本文的主旨不同,故不在赘述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值