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

时间:2012-05-10 作者:ericn

我的网站目前在wp\\U选项表中有超过500k的瞬态记录。这会导致表频繁崩溃,我的站点也是如此。

我以为暂时的记录过一段时间就会全部过期。我还不确定哪些插件应该负责,哪些插件出了问题。然而,我不希望我的网站像这样频繁崩溃。中的记录数wp_options 几周前,该表已大幅增加至20万以上,现在已增加至50万以上。

我应该只删除%transient_timeout% 记录-目前有20多万条?

任何帮助都将不胜感激。

Updates on 16th July 2012

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

再次感谢大家!

6 个回复
最合适的回答,由SO网友:anu 整理而成

这是一组关于瞬态的相当明确的响应

WPSE:Are transients garbage collected?

SO网友:Fabio Pedrazzoli

我使用了:

DELETE FROM `wp_options` WHERE `option_name` LIKE (\'%\\_transient\\_%\');
要以良好的效果进行清理:)

(从这里开始https://stackoverflow.com/questions/10422574/can-i-remove-transients-in-the-wp-options-table-of-my-wordpress-install)

SO网友:Don

瞬态通常是临时数据。因此,如果对这些数据的使用进行编码的人正确地进行了编码,那么您就可以了。不过,我对这门学科的知识有限,我自己也没有多少经验。

您的最佳选择几乎肯定是备份数据库,清除您认为不需要的数据,然后测试您的站点。如果您的live站点流量很大,请确保在本地实例上进行测试,以便在测试期间不会影响任何人。

SO网友:Q Studio

这里有一个简单的函数来清除所有瞬态和超时-添加额外的以满足您的需要。

    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);

    }

SO网友:Rutwick Gangurde

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

例如:The_site_transient_update_plugins 转瞬即逝的它保存有可用更新的插件的信息。如果删除此瞬态,然后刷新仪表板,您将在数据库中找到它。因此,即使删除瞬态,WP也会重新生成它。它不会破坏你的网站,但肯定会导致意想不到的事情发生!请确保在删除这些瞬时值之前备份数据库。

SO网友:wp-overwatch.com

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

一旦瞬态被删除,您的主题和插件将需要重建它们所依赖的瞬态。这将在瞬态消除后立即导致性能下降,之后站点应该运行得稍微快一点,数据库中积累的不必要瞬态现在消失了。

结束

相关推荐

MySQL to$WPDB查询的帮助

这是我的问题。我想查询三个表——状态、点和状态点。状态包含stateid和名称。点:点ID、点LAT、点LNG。State\\u points:Stateid,Pointid。我需要构建一个数组来显示状态,然后显示相应的点。要做到这一点,我认为最好的方法是像本教程那样:http://www.bitsofphp.com/avoid-executing-mysql-queries-within-loops/查询所有状态,使用StateID作为ArrayID创建一个数组然后从points and state\\