MySQL和django挂起了巨大的会话删除

And*_*rew 1 python mysql django

我正在使用MySQL作为DB后端运行django站点.最后我在django_session表中有3百万行.他们中的大多数都已过期,因此我想删除它们.但如果我手动运行 delete from django_session where expire_date < "2011-04-18"整个网站似乎被绞死 - 它无法通过浏览器访问.

为什么会出现这种阻塞?怎么避免呢?

Qua*_*noi 5

如果您的表是MyISAM,则DELETE操作会锁定表,并且并发查询无法访问它.

如果要删除的记录很多,则表会被锁定太长时间.

将您的DELETE陈述分成几个较短的批次.