0
我有一个MySQL查询,我想帮助优化需要帮助优化
(
SELECT
a.`CODE`,
a.`TITLE`,
a.`TEXT`,
a.`CODE_RUBRIC`,
r.`NAME`
FROM
`ARTICLE` a,
`RUBRIC` r
WHERE
a.`CODE_TYPE` = '2'
AND a.`CODE_RUBRIC` = r.`CODE`
AND r.`VIEW` = '1'
AND DATE_ADD(NOW(), INTERVAL -31 DAY) < `DATE`
GROUP BY r.`CODE`
ORDER BY RAND()
) UNION (
SELECT
a.`CODE`,
a.`TITLE`,
a.`TEXT`,
"BOOK",
"BOOK"
FROM
`RUBRIC` r,
`ARTICLE` a
WHERE
a.`CODE_TYPE` = '2'
AND a.`CODE_RUBRIC` = r.`CODE`
AND `JOURNAL` = '1'
AND DATE_ADD(NOW(), INTERVAL -31 DAY) < a.`DATE`
GROUP BY r.`CODE`
ORDER BY RAND()
LIMIT 1
)
所以,我有两个表文章,专栏,第一选择返回一个文章,每个专栏其中专栏的价值。 VIEW为'1'。第二选择返回一个结果,我通过“BOOK”手动确定最后两列。
请提供查询也 有更好的方法兰德获得随机记录不是为了()HTTP的解释:// stackoverflow.com/questions/4329396/mysql-select-10-random-rows-from-600k-rows-fast – 2014-09-05 15:00:05
查询运行缓慢吗?或者你只是在寻找一种更好的组织方式? – Travis 2014-09-05 15:00:24
我想知道是否有可能分解 – user3337165 2014-09-05 15:02:34