mysql性能优化

type。ALL, index, range, ref, eq_ref, const, system 从左往右性能逐渐提升

explain select * from C2_DXI_DS_DATAMETA  ;  --ALL    所有字段
explain select id from C2_DXI_DS_DATAMETA  ; --index  部分字段
explain select id from C2_DXI_DS_DATAMETA where id > 2 --rang 使用btree进行了范围搜索   WHERE后加 > < like、in,not in、or等字段
explain select id from C2_DXI_DS_DATAMETA where id = 2 --ref 和 eq_ref后面取的数据更少,相当于有一个primary key或者 unique key作为关联条件
explain select id from C2_DXI_DS_DATAMETA where id = 2 --const 和 system 使用常量进行索引查询。system是const类型的特例,当查询的表只有一行的情况下,使用system

 Extra

1、Using index  查部分字段

2、Using where  在部分字段中再添加条件查询

3、 Using temporary  用临时表保存中间结果,常用于GROUP BY 和 ORDER BY操作中,一般看到它说明查询需要优化了,就算避免不了临时表的使用也要尽量避免硬盘临时表的使用。

4、Using index condition  根据索引的内容,进行了顺序展示操作,因为id是局聚集索引,存储顺序就是索引顺序,因此不需要排序。

5、Using filesort  MySQL有两种方式可以生成有序的结果,通过排序操作或者使用索引,当Extra中出现了Using filesort 说明MySQL使用了后者,但注意虽然叫filesort但并不是说明就是用了文件来进行排序,只要可能排序都是在内存里完成的。

参考文章:

https://blog.csdn.net/cringkong/article/details/80903858

https://www.cnblogs.com/lonnie/p/8868601.html

你可能感兴趣的:(mysql,mysql)