Será que ele quebrará meu site se eu deletar todos os registros transitórios na tabela wp_options?

9

Atualmente, meu site tem um escandaloso registro de 500k + transientes na tabela wp_options. Isso faz com que a tabela seja paralisada com frequência e, portanto, seja meu site.

Eu achei que registros transitórios expirariam depois de algum tempo. Não tenho certeza quais plugins são responsáveis e o que deu errado ainda. No entanto, não quero que meu site trave com frequência assim. O número de registros na tabela wp_options aumentou muito para 200k + há algumas semanas e agora é 500k +.

Devo excluir apenas os %transient_timeout% registros - 200k + deles no momento?

Qualquer ajuda seria muito apreciada.

Atualizações em 16 de julho de 2012

Na verdade, arrisquei (fiz o backup do meu site primeiro) excluindo todos os registros temporários e o banco de dados do meu site não caiu desde então:)

Obrigado mais uma vez a todos!

    
por ericn 10.05.2012 / 06:32

6 respostas

6

Este é um conjunto bastante definido de respostas sobre transientes

WPSE: Os transientes são coletados com lixo?

    
por anu 15.07.2012 / 13:09
8

Eu usei:

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

para limpeza com ótimos resultados:)

(daqui enlace )

    
por Fabio Pedrazzoli 07.01.2014 / 17:51
1

Transientes, como regra, são dados temporários. Portanto, se a pessoa que codificou o uso de tais dados o fez corretamente, você deve estar bem. Meu conhecimento do assunto é limitado, entretanto, e eu mesmo não tive muita experiência com eles.

Sua melhor aposta será quase certamente fazer o backup de seu banco de dados, eliminar os dados que você não acha que precisa e, em seguida, testar seu site. Se o seu site ativo for muito veiculado, teste em uma instância local para que ninguém seja afetado durante o teste.

    
por Don 10.05.2012 / 07:39
1

Transientes não são nada, mas opções temporárias, que são mantidas no banco de dados por um certo período, significa que elas expiram assim que o propósito terminar.

Por exemplo: O _site_transient_update_plugins transitório. Ele contém as informações sobre os plug-ins que possuem atualizações disponíveis. Se você excluir esse transiente e, em seguida, atualizar seu painel, ele o encontrará novamente em seu banco de dados. Então, mesmo que você apague um transiente, o WP irá regenerá-lo. Não vai quebrar o seu site, mas vai certamente fazer com que coisas inesperadas aconteçam! Certifique-se de fazer backup do seu banco de dados antes de excluir qualquer um desses valores temporários.

    
por Rutwick Gangurde 10.05.2012 / 07:44
1

Aqui está uma função simples para limpar todos os transientes e tempos limite - adicione um extra para atender às suas necessidades.

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

    }
    
por Q Studio 19.01.2014 / 20:16
0

Os transientes devem ser temporários, mas se um desenvolvedor codificou coisas erradas, depois de excluir todos os transientes, talvez seja necessário salvar novamente as configurações de tema / plug-in / widget para recriar os transientes. Na maioria das vezes, isso não é um problema, e você pode excluir todos os transientes no site.

Quando os transientes forem excluídos, seu tema e seus plug-ins precisarão reconstruir os transientes em que eles dependem. Isso causará um impacto no desempenho imediatamente após a remoção dos transientes, após o que o site deverá funcionar um pouco mais rapidamente, com os transientes desnecessários que podem ter se acumulado em seu banco de dados que desapareceram.

    
por Mr. Me 23.12.2017 / 06:58