1.索引原理
2.索引失效的情况?
1、组合索引不遵循最左匹配原则
2、组合索引的前面索引列使用范围查询(<,>,like),会导致后续的索引失效
3、不要在索引上做任何操作(计算,函数,类型转换)
4、is null和is not null无法使用索引
5、尽量少使用or操作符,否则连接时索引会失效
6、字符串不添加引号会导致索引失效
7、两表关联使用的条件字段中字段的长度、编码不一致会导致索引失效
8、like语句中,以%开头的模糊查询
9、如果mysql中使用全表扫描比使用索引快,也会导致索引失效
3.描述一下聚簇索引和非聚簇索引的区别?
本质在存储引擎
innodb存储引擎在进行数据插入的时候必须要绑定到一个索引列上,默认是主键,如果没有主键,会选择唯一键,如果没有唯一键,那么会选择生成6字节的rowid,跟数据绑定在一起的索引我们称之为聚簇索引,没有跟数据绑定在一起的索引我们称之为非聚簇索引。
innodb存储引擎中既有聚簇索引也有费聚簇索引,而myisam存储引擎中只有非聚簇索引。