mysql添加多个btree索引的方法
小编给大家分享一下mysql添加多个btree索引的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
目前大部分数据库系统及文件系统都采用B-Tree或其变种B+Tree作为索引结构。
1、B+树是一个平衡的多叉树,从根节点到每个叶子节点的高度值不超过1,而且同层级的节点间有指针相互链接
2、在B+树上的常规检索,从根节点到叶子节点的搜索效率基本相当,不会出现大幅波动,而且基于索引的顺序扫描时,也可以利用双向指针快速左右移动,效率非常高。
在mysql中,索引可以有效的提高查询效率,但在实际项目中有时候即使在where条件都加上索引,也不一定能够使用到索引
举个栗子:where id=3 and price>100;//查询id为3,100元以上的商品(id,price 分别为添加索引)
误区:只能用上id或price其中一个,因为是独立的索引,同时只能用上一个。
联合索引:在多列同时创建索引后,需要满足左前缀原则,才用到索引
以index(a,b,c)为例。(注意和顺序有关)
语句 | 是否使用索引
where a=3 是,只使用了a列
where a=3 and =5 是,使用了ab列
where a=3 and b=4 and c=5 是,使用了abc
where b=3 or c=4 否因为跳过a
where a=3 and c =4 a用到索引,c不能
where a=3 and b like 'hello%' a用到了,b部分用到
看完了这篇文章,相信你对mysql添加多个btree索引的方法有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341