如何避免mysql'试图锁定时发现死锁; 尝试重启事务'
我有一个innoDB表记录在线用户。它会在用户每次刷新页面时更新,以跟踪他们所在的页面以及他们上次访问网站的日期。然后,我有一个每15分钟运行一次以删除旧记录的cron。
我得到了一个'试图锁定时发现的死锁; 尝试重新启动事务'昨晚约5分钟,似乎是在这个表中运行INSERT。有人可以建议如何避免这个错误?
===编辑===
以下是正在运行的查询:
首次访问网站:
INSERT INTO onlineusers SETip = 123.456.789.123,datetime = now(),userid = 321,page = '/thispage',area = 'thisarea',type = 3
在每个页面刷新:
UPDATE onlineusers SETips = 123.456.789.123,datetime = now(),userid = 321,page = '/thispage',area = 'thisarea',type = 3WHERE id = 888
Cron每15分钟一次:
DELETE FROM onlineusers WHERE datetime <= now() - INTERVAL 900 SECOND
然后它会记录一些统计数据(即:在线成员,在线访客)。
四季花海
慕桂英3389331
相关分类