建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

当前位置: 建站学 > 数据库 > Mysql 教程 >

mysql如何添加多个btree索引

时间:2019-07-31 17:54来源:PHP中文网 作者:猪哥 点击:
目前大部分数据库系统及文件系统都采用B-Tree或其变种B+Tree作为索引结构。 1、B+树是一个平衡的多叉树,从根节点到每个叶子节点的高度值不超过1,而且同层级的节点间有指针相互链接 2、在B+树上的常规检索,从根节点到叶子节点的搜索效率基本相当,不会出现
目前大部分数据库系统及文件系统都采用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部分用到

(责任编辑:yang)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片