索引介绍以及模拟索引创建过程的网站

Mysql目前用的innodb引擎以及B+ tree索引(多路搜索树)

B+ tree 是聚合索引
以下是索引模拟创建过程的网站
https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

高效索引原则

  1. 最左匹配
  2. 离散型高,选择性就越好 (重复性越少的字段)
  3. 空间利用少 (宽度值小,如:varchar(1) 宽度值为1 )
> 1. in使用索引
> 2. not in 和 <> 不使用索引
> 3. like '%123' 使用索引
> 4. like '%123%' 和 like '%123' 都不使用索引 

如何查看当前是否是复和索引?

复合索引就是直接返回的数据信息
select id,name from user where name = ?; (name)字段是index时,就会采用复合索引
select name,no from user where name = ?; (name)字段是index时,就不会采用复合索引
select name,no from user where name = ?; (name,no)字段是联合索引index时,就会采用复合索引
select name from user where name = ?; (name,no)字段是联合索引index时,就会采用复合索引
通过以下sql查看sql语句是否使用了复合索引:

explan EXPLAIN SELECT id FROM `view` where id = 1

判断方法:

  1. 字段type的值为 warn 以上级别的。
  2. 字段extra的值包含 Using index; 的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值