我网站上的搜索结果排序出了问题,
当进行搜索时,在内容页面上会出现随机的结果,并且该页面还包括分页。以下是我使用的 SQL 查询语句。
SELECT * FROM table ORDER BY RAND() LIMIT 0,10;
我的问题如下:
我需要确保每次用户访问下一页时,他们已经看过的结果不再出现(在下一个查询中排除它们,以一种内存高效但仍按rand()排序的方式)。
每次访问第一页时都会出现不同的结果集,是否可以在此使用分页,或者排序始终是随机的?
我可以在MYSQL中使用种子(seed),但我不确定如何实际使用它。
ORDER BY RAND()
单独使用时性能很差。它会让 MySQL 选择每一行,为每一行分配一个随机数,并根据该数字对行进行排序。不要使用它。 - user149341