Mysql Query optimizer mysql查询优化笔记

执行计划 优化器

一,Mysql Query optimizer :Mysql中有专门负责优化SELECT语句的优化器模块,主要功能:通过计算分析系统中收集到的统计信息,为客户端请求的Query提供他认为最有的执行计划(他认为最优的数据检索方式)-----哈哈,就是个优化器嘛


二,Query语句优化基本思路和原则

1,优化更需要优化的Query

高并发低消耗:10000次*20个IO-10000次*18个IO=20000次/小时(频繁高并发,危险性大哦)

低并发高消耗:10次*20000个IO-10次*18000个IO=20000次/小时。。。2个IO与2000个IO差别很明显了啊

2,定位优对象的性能瓶颈

3,明确的优化目标

4,从Explain入手

查找某个用户所在group发表的讨论信息:

1,知道用户id(int)和name(varchar)

2,信息表message

3,message中存在id和name作为索引

方案1:通过两个索引查询:

方案2:通过id索引查询:

方案3,通过name索引查询:

执行完Explain计划:方案2好嘛,len=4<98,其他没多大差别来着啊


5,多使用profile


6,从小结果集驱动大的结果集

7,尽可能在索引中完成排序

8,只取出自己需要的columns

9,是有有效的过滤条件

10,尽可能避免复杂的join和子查询语句

三,留点明天再读了。。。消化不了了。。。

你可能感兴趣的:(Mysql Query optimizer mysql查询优化笔记)