背景:
- 目前有一张表它所建立的索引为“htbh”这个字段,表中数据大概有10000条。
explain相关知识
测试结果
- 假设返回结果分别为当前所设立的索引字段和全字段那么它们的性能差距会多大呢?
-
返回全字段
-
只返回索引字段(覆盖索引)
-
结论
- 返回全字段的sql语句是属于全表查询没有使用到索引。
- 覆盖索引的sql语句返回结果只遍历了索引树。
- 如果用到索引尽量覆盖索引,避免索引失效。
- 使用索引优先考虑使用主键索引(主键是唯一的,根据这个唯一的索引,MySQL 就能确定搜索的记录),避免回表查询(需要到表中找到相应的列的信息,这就叫回表)