我mysql
使用 ajax 每 10 秒从我的表中选择一个随机行。
问题是我想防止两次(一一)选择相同的行。我可以使用会话来保留最后选择的行 ID,但我希望它是服务器端的。
我还可以使用最后一次选择 unix 时间将更新查询发送到数据库,但我想防止服务器过载并且我关心性能......所以这个想法不是那么好。
由于您可以有更多与性能相关的经验,我想从您那里获得一些关于上述问题的想法。提前谢谢你们。
// 我已经放置了codeigniter
标签,因为这个东西可能对这个问题很重要。
我mysql
使用 ajax 每 10 秒从我的表中选择一个随机行。
问题是我想防止两次(一一)选择相同的行。我可以使用会话来保留最后选择的行 ID,但我希望它是服务器端的。
我还可以使用最后一次选择 unix 时间将更新查询发送到数据库,但我想防止服务器过载并且我关心性能......所以这个想法不是那么好。
由于您可以有更多与性能相关的经验,我想从您那里获得一些关于上述问题的想法。提前谢谢你们。
// 我已经放置了codeigniter
标签,因为这个东西可能对这个问题很重要。
我认为在服务器端的用户会话中存储最后选择的记录 id 是最好的解决方案。通过这种方式,您可以获得该用户最后选择的 ID,并将其从查询中排除。
如果您计划创建一个额外的数据库表来保存最后选择的 id,请记住,您的网站可能有多个并发访问者,因此您必须为每个访问者存储最后选择的 ID,假设 ID 不能是独一无二的。
如果每个访问者必须同时看到相同的ID,上一段的想法可能是一个可能的解决方案,甚至可以在需要查询的表中添加一个布尔字段并将其设置为当前记录的true和false对于所有其他人。您必须在查询中使用时间戳,以确保每 10 秒间隔仅返回一条与上一条不同的新唯一记录。