Apakah itu akan merusak situs saya jika saya menghapus semua catatan sementara di tabel wp_options?

14

Situs saya saat ini memiliki catatan transien 500k + keterlaluan yang keterlaluan dalam tabel wp_options. Ini menyebabkan tabel sering crash dan jadi situs saya.

Saya pikir semua catatan sementara akan kedaluwarsa setelah beberapa waktu. Saya tidak yakin plugin mana yang bertanggung jawab dan apa yang salah. Namun, saya tidak ingin situs saya sering crash seperti ini. Jumlah catatan dalam wp_optionstabel telah meningkat menjadi 200 ribu + beberapa minggu yang lalu dan sekarang 500 ditambah +.

Haruskah saya hanya menghapus %transient_timeout%catatan - 200k + dari mereka saat ini?

Bantuan apa pun akan sangat dihargai.

Pembaruan pada 16 Juli 2012

Saya benar-benar mengambil risiko (saya mendukung situs saya terlebih dahulu) dengan menghapus semua catatan sementara dan basis data situs saya tidak pernah macet sejak :)

Sekali lagi terima kasih!

ericn
sumber

Jawaban:

2

Berikut adalah fungsi sederhana untuk menghapus semua transien dan batas waktu - tambahkan ekstra sesuai dengan kebutuhan Anda.

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

    }
Q Studio
sumber
1

Transien, sebagai aturan adalah data sementara. Jadi, jika orang yang memberi kode penggunaan data tersebut melakukannya dengan benar, Anda seharusnya baik-baik saja. Pengetahuan saya tentang subjek terbatas, dan saya belum memiliki banyak pengalaman dengan mereka sendiri.

Taruhan terbaik Anda hampir pasti akan membuat cadangan basis data Anda, menghapus data yang Anda pikir tidak Anda butuhkan, kemudian menguji situs Anda. Jika situs langsung Anda banyak diperdagangkan, pastikan untuk menguji pada contoh lokal sehingga tidak ada yang terpengaruh selama pengujian.

Mengenakan
sumber
1

Transien tidak lain adalah opsi sementara, yang disimpan dalam database untuk periode tertentu, berarti mereka berakhir setelah tujuan mereka selesai.

Sebagai contoh: The _site_transient_update_pluginstransient. Ini menyimpan informasi tentang plugin yang memiliki pembaruan yang tersedia. Jika Anda menghapus sementara ini, dan kemudian menyegarkan kembali dasbor Anda, Anda akan menemukannya kembali di basis data Anda. Jadi, bahkan jika Anda menghapus transient, WP akan membuatnya kembali. Itu tidak akan merusak situs Anda, tetapi pasti akan menyebabkan hal-hal tak terduga terjadi! Pastikan Anda membuat cadangan DB Anda sebelum menghapus salah satu dari nilai sementara ini.

Rutwick Gangurde
sumber
0

Transien seharusnya bersifat sementara, tetapi jika pengembang mengkode hal-hal yang salah, maka setelah menghapus semua transien, Anda mungkin perlu menyimpan kembali pengaturan tema / plugin / widget untuk membuat ulang transien. Sebagian besar waktu ini bukan masalah, dan Anda akan baik-baik saja untuk menghapus semua transien di situs.

Setelah transien dihapus, tema dan plugin Anda perlu untuk membangun kembali transien yang mereka andalkan. Ini akan menyebabkan kinerja hit segera transien telah dihapus, setelah itu situs harus berjalan sedikit lebih cepat dengan transien yang tidak perlu yang mungkin telah terakumulasi dalam database Anda sekarang hilang.

wp-overwatch.com
sumber