执行计划 优化器
一,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和子查询语句
三,留点明天再读了。。。消化不了了。。。