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