【发布时间】:2015-04-25 01:00:17
【问题描述】:
这个问题一直困扰着我,为什么会这样查询
SELECT
*
FROM
`TABLE`
WHERE `value` IN
(SELECT
val
FROM
OTHER_TABLE
WHERE `date` < '2014-01-01')
运行速度比顺序运行这两个查询慢几个数量级
SELECT
`val`
FROM
OTHER_TABLE
WHERE `date` < '2014-01-01'
Result:
+----+
| val |
+-----+
| v1 |
| v2 |
| v3 |
| v7 |
| v12 |
+-----+
这个查询:
SELECT
*
FROM
`TABLE`
WHERE `value` IN ('v1', 'v2', 'v3', 'v7', 'v12')
【问题讨论】:
标签: mysql subquery correlated-subquery