【发布时间】:2010-10-22 04:33:39
【问题描述】:
我在 Drupal 的这两个表中有 1600 万行。我的网站速度很慢,这两个表在慢查询日志中排在首位。我可以安全地截断它们吗?
此外,发出 truncate 命令会挂起系统。有没有办法可以批量删除行?
【问题讨论】:
我在 Drupal 的这两个表中有 1600 万行。我的网站速度很慢,这两个表在慢查询日志中排在首位。我可以安全地截断它们吗?
此外,发出 truncate 命令会挂起系统。有没有办法可以批量删除行?
【问题讨论】:
看门狗是的,会话有一个时间戳,您可能应该使用它来确保任何当前连接的用户不会丢失他们的会话。如果您不介意有一点停机时间,那么打开维护选项然后在流量较低/适当的时间截断两个表可能是值得的。
【讨论】:
您对当前的问题有一个答案,但 dblog 应该由 cron 自动修剪。要保留的行数是一个设置,admin/settings/logging/dblog
dblog 也可以使用 drush 清除和修剪到一定程度。
【讨论】:
我可以推荐 Drupal 的 Session expire 模块:http://drupal.org/project/session_expire
这将清理任何 PHP 设置的会话表,并在 cron 期间调用,使其在后台运行,无论您的 PHP 垃圾收集设置如何
【讨论】:
看门狗和缓存表是的,但是如果你截断会话可能会导致一些用户丢失他们的会话。
【讨论】: