我有一个查询,我想在一个 mysql 查询中选择带有标准广告的特色广告(一个查询,因为网站流量很高,所以在数据库中执行两个查询会导致性能问题)
*要求是选择所有精选广告,然后选择 2 个标准广告,并且它们都必须随机订购。*
所以我使用了以下查询,它适用于 UNION 关键字,但问题是 RANDOM 的排序仅适用于第二个查询。
( SELECT * FROM ads WHERE status='Y' AND priority='High' ORDER BY RAND() )
UNION (SELECT * FROM ads WHERE status='Y' AND count<=limits
AND priority!='High'
ORDER BY RAND() LIMIT 0 , 2
)
我在这里做错了什么?有任何想法吗 ?作为一个附带问题,任何性能友好的方式来选择随机行而不是使用 RAND 关键字?