select id,name where name=‘shenjian’
选择id、name、sexwherename=‘shenjian’
我查了一个多属性,为什么搜索过程完全不同?
什么是表格查询?
什么是索引覆盖?
如何实现索引覆盖?
在什么场景中,可以利用索引服务范围优化SQL?
这些是今天要共享的内容。
画外音:本实验基于MySQL5.6-InnoDB。
一、表格查询是什么?
首先介绍InnoDB的索引实现。 InnoDB有两种类型的索引:
集合索引(clustered index ) ) ) ) ) ) )。
(通常为索引(次索引) ) ) ) ) ) ) ) ) ) )。
**InnoDB聚集索引和常规索引有什么区别? **
InnoDB必须有一个聚集索引,因为InnoDB聚集索引的叶节点存储行记录。
)1)如果表中定义了PK,则PK为聚合索引;
)2)如果表中未定义PK,则第一个not NULL unique列是聚合索引。
(3)否则,InnoDB将隐藏的row-id创建为聚合索引
外音:所以PK查询很快,直接定位行的记录。
InnoDB常规索引的叶节点包含主键值。
画外音:请注意,不要存储行的记录头指针,而是将记录指针存储在MyISAM的索引叶节点上。
举板栗的话,可能有表。
t(idPK,name KEY,sex,