您的位置:首页 > 数据库 > MySQL

mysql sql优化

2015-10-20 00:00 537 查看
mysql查询性能优化

explain 分析sql查询的详细信息

id,select_type,table,type,possible_keys,key,key_len,ref,rows,extra

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

select_type: mysql中select的查询分为

1.simple 简单查询

2.subquery 子查询

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

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

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

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.分解关联查询,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息