我有一张大桌子,我想快速选择10个随机行。
有时删除行,这意味着我不能在minId - maxId之间随机。
我想要一些没有订单的行。
我尝试了一些我通过Google找到的代码,但这对我没有帮助。 现在我正在使用这段代码:
SELECT `services`.*
FROM `services`
JOIN(
SELECT `serviceId` AS `sid`
FROM `services`
WHERE `services`.`catId` = '{$row["catId"]}' && `subCatId` IS NULL
ORDER BY RAND( )
LIMIT 10
) tmp
LEFT JOIN `cats` ON `services`.`catId` = `cats`.`catId`
WHERE `services`.`catId` = '{$row["catId"]}' && `subCatId` IS NULL && `services`.`serviceId` = `tmp`.`sid`
GROUP BY `services`.`serviceId`
但页面加载缓慢
我看到了MySQL select 10 random rows from 600K rows fast
它没有帮助我。
非常感谢