Mysql实例mysql 索引详细介绍

Mysql实例mysql 索引详细介绍,第1张

概述介绍《Mysql实例mysql 索引详细介绍》开发教程,希望对您有用。

《MysqL实例MysqL 索引详细介绍》要点:
本文介绍了MysqL实例MysqL 索引详细介绍,希望对您有用。如果有疑问,可以联系我们。

MysqL 索引详解:MysqL必读

在MysqL 中,索引可以分为两种类型 hash索引和 btree索引.MysqL必读

 什么情况下可以用到B树索引?MysqL必读

 1.全值匹配索引MysqL必读

 比如:MysqL必读

orderID="123” MysqL必读

2.匹配最左前缀索引查询 MysqL必读

比如:在userID 和 date字段上创建联合索引.MysqL必读

那么如果输入 userID作为条件,那么这个userID可以使用到索引,如果直接输入 date作为条件,那么将不能使用到索引. MysqL必读

3.匹配列前缀查询MysqL必读

比如: order_sn like ‘134%' 这样可以使用到索引. MysqL必读

4.匹配范围值查询MysqL必读

createTime>'2015-01-09' and createTime<'2015-01-10'MysqL必读

5.精确匹配左前列并范围匹配另外一列MysqL必读

比如:MysqL必读

userID=1 and createTime>'2016-9-18'MysqL必读

 6.只拜访索引的查询,称为覆盖索引,及索引包括查询列的数据.MysqL必读

 BTREE索引的限制MysqL必读

 1.如果不是依照索引的最左列开始查找,则无法使用索引.MysqL必读

比如创建联合索引:MysqL必读

orderID,createTime 字段创建联合索引,如果只是输入 createTIme的条件,没有orderID的条件,那么将不能使用此索引.MysqL必读

 2.使用索引时不能跳过索引的列.MysqL必读

三列:MysqL必读

日期,姓名,电话 组成列和索引,如果查询时 只输入 日期 和电话,那么只能使用日期作为索引进行过滤.MysqL必读

 3.NOT IN 和 <> *** 作无法使用索引.MysqL必读

 4.如果查询中有某个列的范围查询,则其右边所有列都无法使用索引.MysqL必读

 hash 索引的特点MysqL必读

 hash索引是基于hash表实现的,只有查询条件精确匹配hash 索引中的所有列时,才能使用hash索引.只能是等值查询.MysqL必读

 对于hash索引中的所有列,存储引擎都会为每一行计算一个hash码,hash索引中存储的就是hash码.MysqL必读

 限制:MysqL必读

1.必须两次读取,先读取hash 找到对应的行,再读取对应的行数据.MysqL必读

2.hash索引无法用于排序.MysqL必读

3.只支持精确查找,不支持部分索引查找,也不支持范围查找.MysqL必读

hash冲突:MysqL必读

hash 索引不能使用于选择性很差的字段,而要用在比如 选择性强的列上创建hash索引.MysqL必读

比如:不要在性别字段上创建hash索引.MysqL必读

 为什么要使用索引? MysqL必读

1.索引大大减少存储引擎需要扫描的数据量.索引小于数据大小.MysqL必读

2.索引可以赞助我们进行排序以避免使用临时表.索引是有顺序的.MysqL必读

3.索引可以把随机的I/0 变为 顺序的IOMysqL必读

 索引是不是越多越好?MysqL必读

1.索引会增加写 *** 作的成本MysqL必读

2.太多的索引会增加查询优化器和选择时间.MysqL必读

 建立索引的策略MysqL必读

1.索引列上不能使用表达式或函数MysqL必读

比如:MysqL必读

select * from product where to_days(out_date) Cto_days(current_date)<=30,out_date为索引列.MysqL必读

改成:MysqL必读

select* from product where out_date<date_add(current_date,interval 30 day)MysqL必读

 2.索引大小不能超过一定值.MysqL必读

inodb 索引列 大小为 200个长度.MysqL必读

 3.前缀和索引列的选择性.MysqL必读

 create index IDx_name  on table (account);MysqL必读

 4.联合索引MysqL必读

如何选择索引列的顺序.MysqL必读

1.经常会被索引的列.MysqL必读

2.选择性高的里的列的优先.MysqL必读

3.对小的列创建索引.MysqL必读

感谢阅读此文,希望能赞助到大家,谢谢大家对本站的支持!MysqL必读

《MysqL实例MysqL 索引详细介绍》是否对您有启发,欢迎查看更多与《MysqL实例MysqL 索引详细介绍》相关教程,学精学透。内存溢出PHP学院为您提供精彩教程。

总结

以上是内存溢出为你收集整理的Mysql实例mysql 索引详细介绍全部内容,希望文章能够帮你解决Mysql实例mysql 索引详细介绍所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1153529.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存