1、 索引类型
主要的索引类型: 主键索引、唯一索引、普通索引、组合索引、全文索引
(1)主键索引 就是聚集索引
(2)普通索引一般 和 组合索引一起出现
(3)当索引把所有 字段都覆盖的时候就是全文索引
2、约束
primary key / unique key / foreign key / default / not null
约束 和 索引的区别,
3、索引
3.1、索引的组成
由段 、 区 、 页组成, 区大小微为 1M,页的大小为 64 K(逻辑页),为了保证区中页的连续,mysql 会一次从磁盘中申请4-5个区
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kTA7O3Gt-1631619310199)(AB38A29B79D24030A117BED0939354D5)]
聚集索引 和 辅助索引,一些聚集索引中没有的字段,只能通过辅助索引帮助搜索,然后再通过聚集索引将整个行遍历出来
3.1、索引的相关原则
(1)最左匹配原则
如果不符合最左匹配原则会导致组合索引实效 ,最后使用聚合索引
(2)覆盖索引
当辅助索引比较有优势的时候,就不会使用主键索引
(3)索引失效
-
select … where A and B , 若索引中少 A or B其中一个,则索引实效
-
索引有相关的运算
-
将 ‘1’ 转换为1
-
LIKE 之类的模糊查询 ‘%ark’ % 分号在第一位失效,但是 ‘ark%’就不失效
(4)索引原则
1、 查询频次高的数据建立索引
2、 短索引,
3、 前缀索引,取前面一点的数据建立索引