在子查询或主查询中,哪个更可取?
Where in sub-query or in main query, what is preferable?
简化示例 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'
以上哪个更受欢迎?性能更高吗?是因为其他原因推荐?在进行合并和类似操作之前过滤结果 "early" 是否有帮助?谢谢
在MySQL中你肯定想要子查询中的过滤条件。 MySQL 实现子查询。子查询越小查询越快
此外,MySQL 或许可以为条件使用索引。
简化示例 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'
以上哪个更受欢迎?性能更高吗?是因为其他原因推荐?在进行合并和类似操作之前过滤结果 "early" 是否有帮助?谢谢
在MySQL中你肯定想要子查询中的过滤条件。 MySQL 实现子查询。子查询越小查询越快
此外,MySQL 或许可以为条件使用索引。