mysql sql优化

mysql查询性能优化mysql


explain  分析sql查询的详细信息sql


id,select_type,table,type,possible_keys,key,key_len,ref,rows,extra性能优化


id: 查询表的顺序,id数值大表的先查询。性能

select_type: mysql中select的查询分为优化

1.simple  简单查询spa

2.subquery 子查询排序


table: 查询的表名,若是是连表查询则会出现两条查询详细信息。索引

type : 访问类型  all index range ref eq_ref const nullit

1.all 全表扫描,扫描整张table

2.index 先扫描索引,再全表扫描,避免了排序,由于索引是顺序的。

3.range 必定范围扫描索引,再按索引结果去表中找。

4.ref 非惟一索引访问

5.eq_ref 惟一索引(主键索引)访问

6.const 惟一索引(主键索引)访问时,匹配的只有一条数据。

7.null 在优化的过程当中就已经获得结果,好比min(index)  max(index)


possible_keys: 可能用到的索引

keys: 实际用到的索引

key_len : 索引字段最大可能使用长度,单位是字节

ref:对key索引使用的查找方式 const func null 具体字段  //待查证资料

Extra :

using index 使用了覆盖索引,直接从索引中获取数值

using where 使用了where条件过滤

Using temporary 使用了临时表  好比distinct

Using filesort 没有使用索引的排序顺序

Impossible WHERE noticed after reading const table 查询条件不可能,直接返回空

Select tables optimized away 直接优化

mysql查询语句优化

1.一个复杂的查询拆分红多个简单查询

2.切分查询,一次大查询分红屡次小查询分批次查询。

3.分解关联查询,

相关文章
相关标签/搜索