转自 http://www.jellythink.com/archives/924,博客比价清晰

我理解上文的是SQL执行顺序 总体方案。当你加入索引了以后,其实他的执行计划是有细微的变化,比方说刚开始不再先生成笛卡尔积,而是进行SQL改写和评估,看使用哪个索引 扫描行数更少,成本更低。然后利用mysql嵌套循环的机制,找到表的执行顺序。最后确定好读取方式以后 先通过索引找到最佳左表,然后嵌套循环找到右表,然后按照SQL执行顺序进行。

这个也解释了索引 先加在WHERE 字段 然后处理GROUP BY字段 最后处理ORDER BY 字段,这个就是SQL执行顺序决定的。

经典总结0707:关于索引到底是先WHERE还是先GROUP
 

最新文章

  1. javascript_core_02之函数、作用域
  2. Spring框架学习[IoC容器高级特性]
  3. BZOJ-2929 洞穴攀岩 最大流Dinic(傻逼题)
  4. OpenGl的glMatrixMode()函数理解
  5. Date Picker Calendar For Oracle Forms 6i
  6. 云计算平台简介(App Engine)
  7. java多线程中的volatile和synchronized
  8. 2016年辛星less教程发布了
  9. OCI_INVALID_HANDLE 什么原因
  10. CentOS ips bonding
  11. Node.js API 初解读(三)
  12. BZOJ.4771.七彩树(可持久化线段树)
  13. 为什么入门首选C语言
  14. 打开对话框opendialog
  15. 字符、字符串和文本的处理之Char类型
  16. selenium+python自动化90-unittest多线程执行用例
  17. spring---aop(2)---Spring AOP的JDK动态代理
  18. Python的hasattr() getattr() setattr() 函数使用方法(简介)
  19. BeginInvoke 方法真的是新开一个线程进行异步调用吗?
  20. elasticsearch must和should组合查询

热门文章

  1. Framebuffer子系统【转】
  2. B1391 [Ceoi2008]order 最大权闭合图 最小割
  3. [Apple开发者帐户帮助]五、管理标识符(4)注册一个应用程序组
  4. Git 和 Redis 的基本认识
  5. HDU1560 DNA sequence
  6. NYOJ999 师傅又被妖怪抓走了
  7. ACM_来自不给标题的菜鸟出题组(巴什博弈+素数判定)
  8. HttpServletResponse对象,自己学习的心得
  9. HTML简单入门
  10. C# 如何实现WinForm程序自重启(重新启动自己)