打工四年总结的数据库知识点( 五 )
- 大大减少了服务器需要扫描的数据行数 。
- 帮助服务器避免进行排序和分组 , 以及避免创建临时表(B+Tree 索引是有序的 , 可以用于 ORDER BY 和 GROUP BY 操作 。 临时表主要是在排序和分组过程中创建 , 不需要排序和分组 , 也就不需要创建临时表) 。
- 将随机 I/O 变为顺序 I/O(B+Tree 索引是有序的 , 会将相邻的数据都存储在一起) 。
- 对于非常小的表、大部分情况下简单的全表扫描比建立索引更高效;
- 对于中到大型的表 , 索引就非常有效;
- 但是对于特大型的表 , 建立和维护索引的代价将会随之增长 。 这种情况下 , 需要用到一种技术可以直接区分出需要查询的一组数据 , 而不是一条记录一条记录地匹配 , 例如可以使用分区技术 。
如果一个表比较小 , 那么显然直接遍历表比走索引要快(因为需要回表) 。
注:首先 , 要注意这个答案隐含的条件是查询的数据不是索引的构成部分 , 否也不需要回表操作 。 其次 , 查询条件也不是主键 , 否则可以直接从聚簇索引中拿到数据 。
查询性能优化使用 explain 分析 select 查询语句explain 用来分析 SELECT 查询语句 , 开发人员可以通过分析 Explain 结果来优化查询语句 。
select_type常用的有 SIMPLE 简单查询 , UNION 联合查询 , SUBQUERY 子查询等 。
table要查询的表
possible_keysThe possible indexes to choose
可选择的索引
keyThe index actually chosen
实际使用的索引
rowsEstimate of rows to be examined
扫描的行数
type索引查询类型 , 经常用到的索引查询类型:
const:使用主键或者唯一索引进行查询的时候只有一行匹配 ref:使用非唯一索引 range:使用主键、单个字段的辅助索引、多个字段的辅助索引的最后一个字段进行范围查询 index:和all的区别是扫描的是索引树 all:扫描全表:
system触发条件:表只有一行 , 这是一个 const type 的特殊情况
const触发条件:在使用主键或者唯一索引进行查询的时候只有一行匹配 。
SELECT * FROM tbl_name WHERE primary_key=1;SELECT * FROM tbl_nameWHERE primary_key_part1=1 AND primary_key_part2=2;
文章插图
eq_ref触发条件:在进行联接查询的 , 使用主键或者唯一索引并且只匹配到一行记录的时候
SELECT * FROM ref_table,other_tableWHERE ref_table.key_column=other_table.column;SELECT * FROM ref_table,other_tableWHERE ref_table.key_column_part1=other_table.columnAND ref_table.key_column_part2=1;
ref触发条件:使用非唯一索引SELECT * FROM ref_table WHERE key_column=expr;SELECT * FROM ref_table,other_tableWHERE ref_table.key_column=other_table.column;SELECT * FROM ref_table,other_tableWHERE ref_table.key_column_part1=other_table.columnAND ref_table.key_column_part2=1;
文章插图
range触发条件:只有在使用主键、单个字段的辅助索引、多个字段的辅助索引的最后一个字段进行范围查询才是 range
SELECT * FROM tbl_nameWHERE key_column = 10;SELECT * FROM tbl_nameWHERE key_column BETWEEN 10 and 20;SELECT * FROM tbl_nameWHERE key_column IN (10,20,30);SELECT * FROM tbl_nameWHERE key_part1 = 10 AND key_part2 IN (10,20,30);
- 腾讯申请「打工鹅」商标,网友:“虾仁猪心”
- 库克靠打工实现1个亿“小目标”iPhone 12全球热销功不可没
- 支付宝打造的天价蚂蚁森林,四年时间过去了,现在长成什么样了?
- 没有人在意你的网易云年终总结
- 商标|腾讯申请打工鹅商标
- 资深打工人回血神器,荣泰RT6908S按摩椅评测
- 腾讯企鹅跟上“打工人”热潮!背后暗藏港股之王的成功秘诀
- 腾讯申请“打工鹅”商标
- 腾讯云交出阶段性年终总结,发布5G产品矩阵
- 小白财经|一图看懂5G毫米波