丰台网站建设多少钱网络营销案例分析
目录
一、索引是什么
二、索引规则
三、索引失效场景
一、索引是什么
- 索引是帮助Mysql高效获取数据的【数据结构】
- 索引存储在文件系统中
- 索引的文件存储形式与存储引擎相关
- mysql有三种存储引擎
- InnoDB
- MyISAM
- MEMORY
- mysql有三种存储引擎
- 索引文件的结构
- Hash
- Hash索引底层是哈希表,哈希表是一种以key-value存储数据的结构
- 只支持等值查询,不适合范围查询,因为根据Hash表的排序,离的很近的值可能存在与不同的Hash表索引下。
- 二叉树
- 二叉树或者红黑树会因为树的深度过深而造成IO次数变多
- B树
- B+树
- Hash
二、索引规则
最左前缀规则
三、索引失效场景
- 声明
- mysql优化器会判断执行【全表扫描】和【执行索引扫描】的效率,如果【全表扫描】效率高,那么mysql就不使用索引查询
- like
- like '%abc':索引失效
- like '%abc%':索引失效
- like 'abc%':索引有效
- 函数
- 在where条件后面使用 【函数作为条件】:索引失效
- in 和 not in
- in:索引有效
- not in:索引失效
- or
- or前后必须同时使用索引才生效
- is null 和 is not null
- 不一定生效、也不一定失效,同mysql的二级索引有关