La cancellazione di tutti i record transitori nella tabella wp_options danneggerà il mio sito?
Il mio sito ha attualmente un numero esorbitante di oltre 500.000 record transitori nella tabella wp_options. Questo causa frequenti crash della tabella e di conseguenza del mio sito.
Pensavo che i record transitori scadessero tutti dopo un certo periodo.
Non sono ancora sicuro di quali plugin siano responsabili e cosa sia andato storto.
Tuttavia, non voglio che il mio sito continui a crashare così frequentemente.
Il numero di record nella tabella wp_options
è aumentato enormemente fino a oltre 200.000 alcune settimane fa e ora supera i 500.000.
Dovrei eliminare solo i record %transient_timeout%
- che al momento sono più di 200.000?
Qualsiasi aiuto sarà molto apprezzato.
Aggiornamento del 16 luglio 2012
In realtà ho corso il rischio (ho fatto prima il backup del mio sito) eliminando tutti i record transitori e da allora il database del mio sito non è più crashato :)
Grazie ancora a tutti!
Ho utilizzato:
DELETE FROM `wp_options` WHERE `option_name` LIKE ('%\_transient\_%');
per ripulire con ottimi risultati :)

Questo è un insieme piuttosto definitivo di risposte riguardanti i transient

I transient, di norma, sono dati temporanei. Quindi, se la persona che ha codificato l'utilizzo di tali dati lo ha fatto correttamente, non dovresti avere problemi. Tuttavia, la mia conoscenza sull'argomento è limitata e non ho molta esperienza diretta con essi.
La soluzione migliore sarà quasi sicuramente quella di eseguire un backup del tuo database, eliminare i dati che ritieni non ti servano, e poi testare il tuo sito. Se il tuo sito live ha molto traffico, assicurati di eseguire i test su un'istanza locale per evitare che gli utenti vengano influenzati durante il testing.

I transient non sono altro che opzioni temporanee, che vengono mantenute nel database per un certo periodo, ovvero scadono una volta che il loro scopo è terminato.
Ad esempio: il transient _site_transient_update_plugins
. Contiene le informazioni sui plugin che hanno aggiornamenti disponibili. Se elimini questo transient e poi aggiorni la dashboard, lo ritroverai nel tuo database. Quindi, anche se elimini un transient, WordPress lo rigenererà. Non romperà il tuo sito, ma causerà sicuramente comportamenti inaspettati! Assicurati di fare un backup del database prima di eliminare uno di questi valori transient.

Ecco una semplice funzione per cancellare tutti i transient e i timeout - aggiungi altro in base alle tue esigenze.
function clear_transients()
{
global $wpdb;
// elimina tutti i transient del "namespace"
$sql = "
DELETE
FROM {$wpdb->options}
WHERE option_name like '\_transient\_namespace\_%'
OR option_name like '\_transient\_timeout\_namespace\_%'
";
$wpdb->query($sql);
}

I transient dovrebbero essere temporanei, ma se uno sviluppatore ha codificato qualcosa in modo errato, dopo aver eliminato tutti i transient, potrebbe essere necessario ri-salvare le impostazioni del tema/plugin/widget per ricreare i transient. Nella maggior parte dei casi questo non è un problema e puoi tranquillamente eliminare tutti i transient dal sito.
Una volta eliminati i transient, il tuo tema e i tuoi plugin dovranno ricostruire i transient da cui dipendono. Ciò causerà un calo immediato delle prestazioni subito dopo la rimozione dei transient, dopodiché il sito dovrebbe funzionare leggermente più velocemente con i transient non necessari che potrebbero essersi accumulati nel database ora eliminati.
