Va afecta site-ul meu dacă șterg toate înregistrările temporare din tabelul wp_options?

10 mai 2012, 07:32:57
Vizualizări: 84.6K
Voturi: 18

Site-ul meu are în prezent un număr exagerat de peste 500k înregistrări temporare în tabelul wp_options. Acest lucru face ca tabelul să se blocheze frecvent și, în consecință, și site-ul meu.

Credeam că înregistrările temporare vor expira toate după un timp. Nu sunt sigur care plugin-uri sunt responsabile și ce nu funcționează corect încă. Cu toate acestea, nu vreau ca site-ul meu să se blocheze frecvent în acest fel. Numărul de înregistrări din tabelul wp_options a crescut exagerat la peste 200k acum câteva săptămâni și acum la peste 500k.

Ar trebui să șterg doar înregistrările %transient_timeout% - peste 200k dintre ele în acest moment?

Orice ajutor ar fi foarte apreciat.

Actualizări pe 16 iulie 2012

De fapt, mi-am asumat riscul (am făcut mai întâi backup site-ului) ștergând toate înregistrările temporare și baza de date a site-ului meu nu s-a mai blocat de atunci :)

Mulțumesc din nou tuturor!

1
Comentarii

De la WP 3.7: "La actualizarea bazei de date, se șterg toate temporarele, indiferent de expirare. (Acest lucru ar trebui să se întâmple și la actualizarea automată, dar să lăsăm această parte deocamdată, deoarece actualizarea bazei de date va rula la toate versiunile majore în zilele noastre.)" Deci da, ar trebui să fie în regulă când se face o dată, dar dacă îți actualizezi WP regulat, probabil că nu ar trebui să fie nevoie :-)

jave.web jave.web
10 feb. 2022 00:21:53
Toate răspunsurile la întrebare 6
2
16

Am folosit:

DELETE FROM `wp_options` WHERE `option_name` LIKE ('%\_transient\_%');

pentru a curăța cu rezultate excelente :)

(de aici https://stackoverflow.com/questions/10422574/can-i-remove-transients-in-the-wp-options-table-of-my-wordpress-install)

7 ian. 2014 18:51:33
Comentarii

rețineți că nu am întrebat cum să șterg înregistrările tranzitorii

ericn ericn
12 oct. 2016 06:18:39

Mulțumesc! Nu a mai fost nevoie să caut mai departe. Soluție simplă și clară. Trebuie doar ajustată în funcție de 'prefixul' numelui tabelei.

Mugé Mugé
25 sept. 2020 18:29:36
2

Acesta este un set destul de definitiv de răspunsuri despre transienți

WPSE: Sunt transienții colectați ca gunoi?

15 iul. 2012 14:09:07
Comentarii

Da, mulțumesc, de fapt m-am referit și eu la acel subiect :)

ericn ericn
17 iul. 2012 14:39:14

Ar fi util să includeți un rezumat/concluzie a articolului legat aici. Răspunsurile care conțin doar link-uri externe nu sunt prea utile, mai ales când link-ul nu mai funcționează în viitor

Philipp Philipp
5 ian. 2022 16:33:53
0

Transienții, ca regulă, sunt date temporare. Deci, dacă persoana care a codat utilizarea acestor date a făcut-o corect, ar trebui să fii în regulă. Cu toate acestea, cunoștințele mele despre acest subiect sunt limitate și nu am prea multă experiență cu ele.

Cea mai bună soluție pentru tine va fi aproape sigur să faci o copie de rezervă a bazei de date, să ștergi datele pe care nu crezi că le mai ai nevoie, apoi să testezi site-ul tău. Dacă site-ul tău live are mult trafic, asigură-te că testezi pe o instanță locală, astfel încât nimeni să nu fie afectat în timpul testării.

10 mai 2012 08:39:59
0

Transienții nu sunt altceva decât opțiuni temporare, care sunt păstrate în baza de date pentru o anumită perioadă, adică expiră odată ce și-au îndeplinit scopul.

De exemplu: Transientul _site_transient_update_plugins. Acesta conține informații despre plugin-urile care au actualizări disponibile. Dacă ștergi acest transient și apoi reîmprospătezi panoul de control, îl vei regăsi înapoi în baza ta de date. Deci, chiar dacă ștergi un transient, WordPress îl va regenera. Nu va strica site-ul tău, dar cu siguranță va provoca lucruri neașteptate! Asigură-te că faci o copie de rezervă a bazei de date înainte de a șterge oricare dintre aceste valori transiente.

10 mai 2012 08:44:46
0

Iată o funcție simplă pentru a șterge toate transient-urile și timeout-urile - adaugă cod suplimentar pentru a se potrivi nevoilor tale.

    function clear_transients()
    {

        global $wpdb;

        // șterge toate transient-urile din "namespace"
        $sql = "
            DELETE 
            FROM {$wpdb->options}
            WHERE option_name like '\_transient\_namespace\_%'
            OR option_name like '\_transient\_timeout\_namespace\_%'
        ";

        $wpdb->query($sql);

    }
19 ian. 2014 21:16:43
0

Tranzientele sunt concepute să fie temporare, dar dacă un dezvoltator a codat greșit, atunci după ștergerea tuturor tranzientelor, poate fi necesar să re-salvați setările temei/plugin-ului/widget-ului pentru a recrea tranzientele. În majoritatea cazurilor aceasta nu este o problemă și puteți șterge în siguranță toate tranzientele de pe site.

Odată ce tranzientele au fost șterse, tema și plugin-urile dvs. vor trebui să reconstruiască tranzientele de care depind. Acest lucru va determina o scădere a performanței imediat după eliminarea tranzientelor, după care site-ul ar trebui să funcționeze puțin mai rapid, deoarece tranzientele inutile care s-ar fi putut acumula în baza de date au fost eliminate.

23 dec. 2017 07:58:22