原文:http://bbs.landingbj.com/t-0-245451-1.html

对于SQL的优化,我们主要提供调整执行计划。优化SQL的方法有:缩短访问的路径、尽早过滤数据、尽可能减少排序、降低SQL复杂度、避开MySQL优化器Bug。

在真实环境中,优化SQL主要从以下方面考虑:

减少表连接,减少复杂SQL,拆分成简单SQL;

减少排序:非必要不排序,利用索引排序,减少参与排序的记录数;

尽量避免 SELECT *;

尽量用 JOIN 代替子查询;

尽量少使用 OR,使用 IN 或者 UNION(UNION all)代替;

尽量用 UNION ALL 代替 UNION;

尽量早的将无用数据过滤:选择更优的索引,先分页再 JOIN;

避免类型转换:索引失效;

优先优化高并发的SQL,而不是执行频率低某些“大”SQL;

从全局出发优化,而不是片面调整;

尽可能对每一条SQL进行 EXPLAIN;

线上环境,尽可能地找出那些最消耗资源的SQL,然后再优化它。对于一个企业而言,招到优秀的程序员可以大大地降低DBA的工作量.

最新文章

  1. redis缓存技术学习
  2. proteus 查找 仿真元件 中英文对照 [持续更新]
  3. VS2010环境下C++工程相关问题汇总
  4. struts 标签库注解
  5. 无状态、REST、RESTful 和 Web Services【整理】
  6. javascript 随机显示指定内容
  7. SpringMVC底层数据传输校验的方案
  8. CASE WHEN用法
  9. 《转载》最新鲜最详细的Android SDK下载安装及配置教程
  10. Unity3d Platformer Pro 2D游戏开发框架使用教程
  11. java工具类 获取包下所有类
  12. 20165215 2017-2018-2 《Java程序设计》第7周学习总结
  13. [PHP]更新中间关联表数据的两种思路
  14. crontab命令使用文档.txt
  15. 步步深入MySQL:架构->查询执行流程->SQL解析顺序!
  16. python 第三库卸载办法
  17. zabbix服务端安装指南及常见问题解决
  18. 项目报错“JavaServer Faces 2.2 can not be installed : One or more constraints”等一系列问题
  19. Java反射API研究(4)——Class中的重要对象
  20. 每日英语:Dishing the Dirt on Hand-Washing Guidelines

热门文章

  1. Lingo求解线性规划案例1——生产计划问题
  2. SharePoint 2010 在同意匿名訪问的站点中隐藏登陆链接
  3. Git 遇到的坑
  4. BZOJ3378:[USACO]MooFest 狂欢节(树状数组)
  5. WPF之DataGrid应用 翻页
  6. 【angularjs】pc端使用angular搭建项目,实现导出excel功能
  7. RabbitMQ的六种工作模式
  8. metamask的使用
  9. 【mongoDB查询进阶】聚合管道(一) -- 初识
  10. 两个select之间的元素互相移动并保持顺序