【发布时间】:2018-03-29 09:04:22
【问题描述】:
我想同时查询 2 个具有(几乎)相同行的表。结果,我想获取最近的 5 个条目(按日期排序,总共),无论它们来自哪个表
到目前为止,我试过这个:
SELECT date, name, text FROM `table_A`
UNION
SELECT date, name, text FROM `table_B` ORDER BY date desc LIMIT 5
不幸的是,这个查询大约需要 20 秒(两个表都有大约 300.000 行)。
当我这样做的时候:
SELECT date, name, text FROM `table_A` ORDER BY date desc LIMIT 5
或
SELECT date, name, text FROM `table_B` ORDER BY date desc LIMIT 5
查询只需要几毫秒。
所以我的问题是:我怎样才能提高我的查询速度,或者我应该使用什么选择查询从两个表中获取最新的 5 行?
【问题讨论】: