多表连接问题

来源:互联网 发布:迷你忍者mac中文版 编辑:程序博客网 时间:2024/05/17 05:00

前端时间有同行找到我让我给他看一段sql,说要优化,呢是个多表连接的sql,我看了下,就简单对sql语句进行了优化,对此说下多表连接优化思路:

按照正常的逻辑假如,ABC三个表有关系,一般都是select ... from a left join b ... left join c ... where ...一般都是这样的结构,其实,我们这样的sql稍微换一下顺序效率就有明显提升

我们分析上面的语句,假如A表有100条数据满足表连接,是不是最终结果为100条,假如满足where条件的只有10条,是不是最终的有效条数只有10条?也就是说我做了100条数据的连接最后只有10条是我需要的,那是不是做了许多无用功?因此,我们完全可以把where条件提前作为虚表然后进行表连接,这样效率自然就提高了,其实很多时候的优化是程序员完全就可以做到的,因为许多优化是最基本的优化!

1 0