mysql简单索引的作用_mysql索引作用的简单理解

转自:http://blog.csdn.net/pengsidong/article/details/62104703,有添加

索引好比书的目录,好比新华字典的拼音、偏旁部首查字,可以帮助人快速查找到需要的内容,

当数据表记录达到几十w级别的时候,索引的作用非常明显。

一、索引的类型

索引类型有多种,哈希、BTREE、全文索引等,其实不管什么类型,都是为了在特定业务场景下方便快速查找数据的算法。

例如哈希索引,key-value形式,最简单的,书本的目录也是类似的。

假如有一本书中,我们已知文章标题要找到这篇文章来阅读,如果没有目录,我们就要翻整本书去找标题,

但是如果标题单独抽出来作为key,页码作为value就可以快速找到内容。

显然书本开头的目录是要占用几页纸的,建立索引也是要消耗资源的。

BTREE索引是另一种算法,不同业务场景使用对应索引会更有效率。

就好比新华字典的目录跟普通的书本目录不同,新华字典可以通过拼音或者偏旁部首的查询方法去快速查到字在第几页,这也是一种“索引”

还有全文索引等,这里不在描述,例如solr、elasticsearch使用的算法可以去研究一下

二、怎么建索引

其实这个应该没有很明确的定义,只能根据具体业务去考虑。

1、索引不是越多越好,索引是要消耗资源的,有些字段信息不经常查询确建立索引反而影响效率。

就好像一本书如果把书中出现的人名、地名等都来建目录,目录可能占据整本书的1/3,而且读者常用的是文章标题目录,这样反而不好

2、相对来说表中经常查询使用的字段需要建立索引;

3、不要对经常变动的数据加索引,经常变化的字段添加索引反而降低性能;

4、小数据量的表建议不要加索引;

5、索引一般应该加在查找条件的字段;如:应加在where、order by子句中经常使用的字段

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值