python - MySQL&django 卡在巨大的 session 删除上

标签 python mysql django

我正在运行以 MySQL 作为数据库后端的 django 站点。 最后我在 django_session 表中有 300 万行。它们中的大多数都已过期,因此我想删除它们。 但是如果我手动运行 delete from django_session where expire_date < "2011-04-18"整个站点似乎已挂起 - 无法通过浏览器访问。

为什么这种阻塞是可能的?如何避免?

最佳答案

如果您的表是 MyISAMDELETE 操作会锁定该表,并发查询无法访问它。

如果要删除的记录很多,说明表被锁的时间过长。

将您的 DELETE 语句分成几个较短的批处理。

关于python - MySQL&django 卡在巨大的 session 删除上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5703308/

相关文章:

python - 验证 Django 中的值列表

python - 如何将 Django 模型字段映射到某个用户定义的值

python - 使用 Tensorflow 后端时,如何打印 Keras 的 SGD 优化器变体的中间状态

python - 在 Python 3 中读取 MP3

mysql - 将 MaxMind 的 GeoLite2 导入 MySQL

插入触发器之前的mysql

python - Django 请求获取参数

python - "Google"python 样式脚本不工作

Python记录联动、模糊匹配和去重

php - #1045 - 'root' @'localhost' 的访问被拒绝(使用密码 : YES))