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

10 may 2012, 07:32:57
Vistas: 84.6K
Votos: 18

Mi sitio actualmente tiene una cantidad exagerada de más de 500 mil registros transitorios en la tabla wp_options. Esto causa que la tabla se bloquee frecuentemente y por ende mi sitio también.

Pensé que los registros transitorios expirarían después de algún tiempo. No estoy seguro de qué plugins son responsables y qué salió mal todavía. Sin embargo, no quiero que mi sitio se bloquee frecuentemente como esto. El número de registros en la tabla wp_options ha aumentado enormemente a más de 200 mil hace unas semanas y ahora son más de 500 mil.

¿Debería eliminar solo los registros %transient_timeout% - actualmente más de 200 mil de ellos?

Cualquier ayuda será muy apreciada.

Actualizaciones el 16 de julio de 2012

En realidad tomé el riesgo (hice una copia de seguridad de mi sitio primero) eliminando todos los registros transitorios y la base de datos de mi sitio no se ha bloqueado desde entonces :)

¡Gracias de nuevo a todos!

1
Comentarios

Desde WP 3.7: "Al actualizar la base de datos, purgar todos los transitorios, independientemente de su expiración. (Probablemente esto también debería ocurrir en las actualizaciones automáticas, pero dejemos esa parte por ahora, ya que la actualización de la base de datos se ejecutará en todas las versiones principales en estos días.)" Así que sí, debería estar bien cuando se hace de una vez, pero si actualizas tu WP regularmente, probablemente no deberías tener que hacerlo :-)

jave.web jave.web
10 feb 2022 00:21:53
Todas las respuestas a la pregunta 6
2
16

Usé:

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

para limpiar con excelentes resultados :)

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

7 ene 2014 18:51:33
Comentarios

ten en cuenta que no pregunté cómo eliminar los registros transitorios

ericn ericn
12 oct 2016 06:18:39

¡Gracias! No tuve que buscar más. Solución simple y clara. Solo necesita ajustes dependiendo del 'prefijo' del nombre de la tabla.

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

Este es un conjunto bastante definitivo de respuestas sobre los transients

WPSE: ¿Los transients son recolectados como basura?

15 jul 2012 14:09:07
Comentarios

Sí, gracias, de hecho también me referí a ese tema :)

ericn ericn
17 jul 2012 14:39:14

Sería útil incluir un resumen/conclusión del artículo enlazado aquí. Las respuestas que solo contienen enlaces externos no son muy útiles, especialmente cuando el enlace deja de funcionar en el futuro

Philipp Philipp
5 ene 2022 16:33:53
0

Los transients, por regla general, son datos temporales. Por lo tanto, si la persona que codificó el uso de dichos datos lo hizo correctamente, no deberías tener problemas. Sin embargo, mi conocimiento sobre el tema es limitado y no he tenido mucha experiencia con ellos.

Tu mejor opción casi siempre será hacer una copia de seguridad de tu base de datos, eliminar los datos que no creas necesitar y luego probar tu sitio. Si tu sitio en vivo tiene mucho tráfico, asegúrate de realizar las pruebas en una instancia local para que nadie se vea afectado durante las pruebas.

10 may 2012 08:39:59
0

Los transients no son más que opciones temporales, que se guardan en la base de datos durante un período determinado, lo que significa que expiran una vez que su propósito termina.

Por ejemplo: El transient _site_transient_update_plugins. Contiene información sobre los plugins que tienen actualizaciones disponibles. Si eliminas este transient y luego actualizas tu escritorio, lo encontrarás de nuevo en tu base de datos. Así que, incluso si eliminas un transient, WordPress lo regenerará. No romperá tu sitio, ¡pero definitivamente causará que ocurran cosas inesperadas! Asegúrate de hacer una copia de seguridad de tu base de datos antes de eliminar cualquiera de estos valores transient.

10 may 2012 08:44:46
0

Aquí tienes una función simple para limpiar todos los transitorios y tiempos de espera - añade más según tus necesidades.

    function clear_transients()
    {

        global $wpdb;

        // eliminar todos los transitorios del "namespace"
        $sql = "
            DELETE 
            FROM {$wpdb->options}
            WHERE option_name like '\_transient\_namespace\_%'
            OR option_name like '\_transient\_timeout\_namespace\_%'
        ";

        $wpdb->query($sql);

    }
19 ene 2014 21:16:43
0

Se supone que los transitorios son temporales, pero si un desarrollador codificó algo mal, entonces después de eliminar todos los transitorios, puede que necesites volver a guardar la configuración del tema/plugin/widget para recrear los transitorios. Sin embargo, la mayoría de las veces esto no es un problema, y podrás eliminar todos los transitorios del sitio sin inconvenientes.

Una vez que los transitorios se eliminen, tu tema y tus plugins necesitarán reconstruir los transitorios de los que dependen. Esto causará un impacto en el rendimiento inmediatamente después de que se hayan eliminado los transitorios, pero después de eso, el sitio debería funcionar ligeramente más rápido al haberse eliminado los transitorios innecesarios que pudieron haberse acumulado en tu base de datos.

23 dic 2017 07:58:22