Mysql Query optimizer mysql查询优化笔记
2012-12-12 00:52
417 查看
执行计划 优化器
一,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中有专门负责优化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)优化-1
- mysql 优化笔记一(定位慢查询)
- Mysql学习笔记(九)索引查询优化
- mysql慢查询优化步骤slow_query
- MySQL笔记(查询优化)
- MYSQL笔记(查询优化续3,特定类型的优化建议)
- 高性能Mysql学习笔记-查询性能优化
- MySQL笔记(查询优化续1)
- MySQL SQL优化案例:相关子查询(dependent subquery)优化
- 高性能MySQL笔记 第6章 查询性能优化
- mysql性能优化-查询(Query)优化-2
- oracle database query Optimizer 查询优化
- 阅读笔记-MySQL索引原理及慢查询优化
- 【MVC+MySQL+EntityFramework】查询性能优化笔记
- MYSQL笔记(查询优化续2--查询优化限制5.1版本)
- mysql查询优化学习笔记
- 项目总结笔记系列 MySQL分页查询优化
- MySQL查询优化9种方法笔记
- 高性能Mysql笔记 (6)---查询优化
- 《MySql》--百万级数据优化查询