我正在运行以 MySQL 作为数据库后端的 django 站点。
最后我在 django_session 表中有 300 万行。它们中的大多数都已过期,因此我想删除它们。
但是如果我手动运行 delete from django_session where expire_date < "2011-04-18"
整个站点似乎已挂起 - 无法通过浏览器访问。
为什么这种阻塞是可能的?如何避免?
最佳答案
如果您的表是 MyISAM
,DELETE
操作会锁定该表,并发查询无法访问它。
如果要删除的记录很多,说明表被锁的时间过长。
将您的 DELETE
语句分成几个较短的批处理。
关于python - MySQL&django 卡在巨大的 session 删除上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5703308/