私のサイトは現在wp_optionsテーブルに法外な500k +の一時的なレコードを持っています。これはテーブルが頻繁にクラッシュする原因となりますので、私のサイトにしてください。
一時的なレコードはすべてしばらくすると期限切れになると思いました。どのプラグインが責任を負っているのか、そして何がまだうまくいっていないのかわかりません。ただし、このように頻繁にサイトがクラッシュすることは望ましくありません。 wp_options
テーブルのレコード数は、数週間前には200k +に増え、今では500k +になりました。
現時点で%transient_timeout%
レコード - 200k +レコードのみを削除する必要がありますか?
任意の助けは大歓迎です。
2012年7月16日の更新情報
私は実際にすべての一時的なレコードを削除することによって私がリスクを冒した(私が最初に私のサイトをバックアップした)そして私のサイトのデータベースはそれ以来ずっとクラッシュしなかった:)
皆さん、ありがとう!
これは過渡現象についてのかなり明確な一連の応答です。
私は使った:
DELETE FROM `wp_options` WHERE `option_name` LIKE ('%\_transient\_%');
素晴らしい結果を出してクリーンアップするには:)
トランジェントとは、一時的なオプションであり、データベースに一定期間保持されるもので、目的が終了すると期限切れになります。
例えば、_site_transient_update_plugins
トランジェントです。それは利用可能なアップデートを持っているプラグインについての情報を保持しています。この一時的なものを削除してからダッシュボードを更新すると、データベースに表示されます。そのため、トランジェントを削除しても、WPはそれを再生成します。それはあなたのサイトを壊すことはありませんが、予想外のことが起こるのは確実です。これらの一時的な値を削除する前に、必ずDBをバックアップしてください。
これはすべてのトランジェントとタイムアウトをクリアする簡単な機能です - あなたのニーズに合うように余分なものを追加してください。
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);
}
トランジェントは、原則として一時的なデータです。したがって、そのようなデータの使用をコーディングした人がそのように適切に行った場合は、問題ないはずです。しかし、このテーマに関する私の知識は限られており、私は彼ら自身との経験があまりありませんでした。
あなたの最善の策は、ほぼ間違いなくあなたのデータベースをバックアップし、あなたが必要と思わないデータを一掃し、そしてあなたのサイトをテストすることでしょう。ライブサイトのトラフィックが激しい場合は、テスト中に誰も影響を受けないように、必ずローカルインスタンスでテストしてください。
トランジェントは一時的なものと考えられますが、開発者が間違ったコーディングをした場合は、すべてのトランジェントを削除した後、トランジェントを再作成するためにテーマ/プラグイン/ウィジェットの設定を再保存する必要があります。ほとんどの場合、これは問題にはなりません。サイト上のすべての一時的なものを削除しても問題ありません。
トランジェントが削除されたら、あなたのテーマとあなたのプラグインはそれらが依存しているトランジェントを再構築する必要があるでしょう。これにより、トランジェントが削除された直後にパフォーマンスが低下します。その後、データベースに蓄積されている可能性のある不要なトランジェントが発生してサイトがわずかに速く実行されます。