2017-06-05 57 views
0

简化的例子1:在子查询或主查询中,什么是优选的?

SELECT * FROM (
    SELECT x, y, z FROM table1 
    WHERE x = 'test' 
    -- union, etc, etc, complicated stuff... 
) AS t 
-- union, etc, etc, complicated stuff... 

简化示例2:

SELECT * FROM (
    SELECT x, y, z FROM table1 
    -- union, etc, etc, complicated stuff... 
) AS t 
-- union, etc, etc, complicated stuff... 
WHERE x = 'test' 

哪以上是更受欢迎?更高性能?建议其他原因?在进行联合和类似操作之前,它是否有助于“尽早”筛选结果?谢谢。

回答

1

在MySQL中,您绝对需要子查询中的过滤条件。 MySQL实现了子查询。子查询越小查询速度越快。

另外,MySQL可以使用条件的索引。