如果删除wp_options表中的所有瞬时记录,是否会破坏我的站点?


14

我的网站目前在wp_options表中有50万多个临时记录。这导致该表经常崩溃,因此也是我的网站。

我认为临时记录将在一段时间后全部过期。我不确定哪个插件负责,什么出了问题。但是,我不希望我的网站经常像这样崩溃。wp_options几周前,表中的记录数量已总计增加到200k +,现在增加到500k +。

我是否应该只删除%transient_timeout%记录-目前超过200k?

任何帮助将不胜感激。

2012年7月16日更新

我实际上通过删除所有临时记录冒了风险(我先备份了我的网站),此后我的网站数据库就没有崩溃过:)

再次感谢大家!

Answers:




2

这是清除所有瞬态和超时的简单功能-添加更多以满足您的需求。

    function clear_transients()
    {

        global $wpdb;

        // delete all "namespace" transients
        $sql = "
            DELETE 
            FROM {$wpdb->options}
            WHERE option_name like '\_transient\_namespace\_%'
            OR option_name like '\_transient\_timeout\_namespace\_%'
        ";

        $wpdb->query($sql);

    }

1

瞬态通常是临时数据。因此,如果对使用此类数据进行编码的人员这样做正确,则应该没事。但是,我对这个主题的了解有限,我本人也没有太多经验。

几乎可以肯定,最好的选择是备份数据库,清除不需要的数据,然后测试站点。如果您的活动站点流量很大,请确保在本地实例上进行测试,以便在测试过程中没有人受到影响。


1

瞬态只是临时选项,它们在数据库中保留了一段时间,这意味着一旦目的结束,它们就会过期。

例如:_site_transient_update_plugins瞬态。它包含有关具有可用更新的插件的信息。如果删除此瞬变,然后刷新仪表板,则会在数据库中找到它。因此,即使删除瞬变,WP也将重新生成它。它不会破坏您的网站,但绝对会导致意外的事情发生!在删除任何这些瞬态值之前,请确保备份数据库。


0

瞬态被认为是临时的,但是如果开发人员编码错误,那么在删除所有瞬态之后,您可能需要重新保存主题/插件/小部件设置以重新创建瞬态。在大多数情况下,这不是问题,并且可以删除站点上的所有瞬态事件。

删除瞬态之后,您的主题和插件将需要重建它们所依赖的瞬态。这将导致性能立即下降,瞬态已被删除,此后站点应运行得更快一些,而不必要的瞬态可能已经在数据库中累积了。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.