索引算法有BTree算法和Hash算法
BTree算法
BTree是最常用的MySQL数据库索引算法,也是MySQL默认的算法。因为它不仅可以被用在=, >, >=, <,<=和between这些比较操作符上,而且还可以用于like操作符,只要它的查询条件是一个不以通配符开头的常量,例如:
–只要它的查询条件是一个不以通配符开头的常量
select * from user where name like ‘jack%’;
–如果通配符开头没有使用常量,则不会使用索引,例如:
select * from user where name like ‘%jack‘;
Hash算法
Hash Hash索引只能用于对等比较,例如=, <=> (相当于=)操作符。由于是一次定位数据,不像BTree索引需要从根节点到枝节点,最后才能访问到页节点这样多次10访问,所以检索效率远高于BTree索引。
MySQL中一条SQL加锁分析?
一条SQL加锁,可以分9种情况进行:
1、 id列是主键,RC隔离级别
2、 id列是二级唯一索引,RC隔离级别
3、 id列是二级非唯一索引,RC隔离级别
4、 id列上没有索引,RC隔离级别
5、 id列是主键,RR隔离级别
6、 id列是二级唯一索引,RR隔离级别
7、 id列是二级非唯一索引,RR隔离级别
8、 id列上没有索引,RR隔离级别
9、 Serializable 隔离级别
Was this helpful?
0 / 0