¿Romperá mi sitio si elimino todos los registros transitorios en la tabla wp_options?


14

Mi sitio actualmente tiene un escandaloso registro transitorio de 500k + en la tabla wp_options. Esto hace que la tabla se bloquee con frecuencia y que así sea mi sitio.

Pensé que los registros transitorios expirarían después de un tiempo. No estoy seguro de qué complementos son responsables y qué salió mal todavía. Sin embargo, no quiero que mi sitio se bloquee con frecuencia de esta manera. El número de registros en la wp_optionstabla aumentó enormemente a 200k + hace unas semanas y ahora a 500k +.

¿Debo eliminar solo los %transient_timeout%registros, más de 200k en este momento?

Cualquier ayuda sería muy apreciada.

Actualizaciones el 16 de julio de 2012

De hecho, me arriesgué (primero hice una copia de seguridad de mi sitio) al eliminar todos los registros transitorios y la base de datos de mi sitio no se ha bloqueado desde entonces :)

Gracias de nuevo a todos!

Respuestas:




2

Aquí hay una función simple para borrar todos los transitorios y tiempos de espera: agregue más para satisfacer sus necesidades.

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

    }

1

Los transitorios, por regla general, son datos temporales. Entonces, si la persona que codificó el uso de dichos datos lo hizo correctamente, debería estar bien. Sin embargo, mi conocimiento del tema es limitado y no he tenido mucha experiencia con ellos.

Su mejor opción será, sin duda, hacer una copia de seguridad de su base de datos, borrar los datos que no cree que necesita y luego probar su sitio. Si su sitio en vivo tiene mucho tráfico, asegúrese de realizar una prueba en una instancia local para que nadie se vea afectado durante la prueba.


1

Los transitorios no son más que opciones temporales, que se mantienen en la base de datos durante un cierto período, significa que caducan una vez que finaliza su propósito.

Por ejemplo: El _site_transient_update_pluginstransitorio. Contiene la información sobre los complementos que tienen actualizaciones disponibles. Si elimina este transitorio y luego actualiza su tablero, lo encontrará nuevamente en su base de datos. Entonces, incluso si elimina un transitorio, WP lo regenerará. ¡No romperá su sitio, pero definitivamente causará cosas inesperadas! Asegúrese de hacer una copia de seguridad de su base de datos antes de eliminar cualquiera de estos valores transitorios.


0

Se supone que los transitorios son temporales, pero si un desarrollador codificó mal las cosas, luego de eliminar todos los transitorios, es posible que deba volver a guardar la configuración del tema / complemento / widget para recrear los transitorios. Sin embargo, la mayoría de las veces esto no es un problema, y ​​estará bien para eliminar todos los transitorios en el sitio.

Una vez que se eliminan los transitorios, su tema y sus complementos deberán reconstruir los transitorios en los que confían. Esto provocará un impacto en el rendimiento inmediatamente después de que se hayan eliminado los transitorios, después de lo cual el sitio debería ejecutarse un poco más rápido con los transitorios innecesarios que pueden haberse acumulado en su base de datos ahora desaparecidos.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.