wp_options 테이블에서 모든 임시 레코드를 삭제하면 사이트가 손상됩니까?


14

내 사이트는 현재 wp_options 테이블에 터무니없는 500k + 임시 레코드를 가지고 있습니다. 이로 인해 테이블이 자주 다운되어 내 사이트가됩니다.

일시적인 레코드는 일정 시간이 지나면 모두 만료된다고 생각했습니다. 어떤 플러그인이 책임지고 있으며 무엇이 잘못되었는지 잘 모르겠습니다. 그러나 내 사이트가 이와 같이 자주 충돌하는 것을 원하지 않습니다. wp_options몇 주 전에 테이블 의 레코드 수가 크게 200k +로 증가했으며 이제는 500k +로 증가했습니다.

현재 %transient_timeout%200k + 이상의 레코드 만 삭제해야합니까 ?

도움을 주시면 감사하겠습니다.

2012 년 7 월 16 일 업데이트

실제로 모든 임시 레코드를 삭제하여 위험을 감수했습니다 (내 사이트를 먼저 백업했습니다).

다시 한 번 감사드립니다.

답변:




2

다음은 모든 과도 및 시간 초과를 지우는 간단한 기능입니다. 필요에 맞게 추가하십시오.

    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

일시적은 일시적인 데이터입니다. 따라서 그러한 데이터의 사용을 코딩 한 사람이 올바르게 그렇게했다면 괜찮을 것입니다. 그러나 주제에 대한 나의 지식은 제한적이며, 그들 자신에 대한 많은 경험이 없었습니다.

가장 좋은 방법은 데이터베이스를 백업하고 필요하지 않은 데이터를 지우고 사이트를 테스트하는 것입니다. 라이브 사이트가 많이 트래 피킹 된 경우 로컬 인스턴스에서 테스트하여 테스트 중에 아무도 영향을받지 않도록하십시오.


1

일시적인 옵션은 특정 기간 동안 데이터베이스에 보관되는 임시 옵션 일 뿐이며 목적이 끝나면 만료됩니다.

예를 들면 다음과 같습니다 _site_transient_update_plugins. 사용 가능한 업데이트가있는 플러그인에 대한 정보를 보유합니다. 이 임시를 삭제 한 다음 대시 보드를 새로 고치면 데이터베이스에서 다시 찾을 수 있습니다. 따라서 과도를 삭제하더라도 WP는이를 생성합니다. 사이트가 손상되지는 않지만 예상치 못한 일이 발생할 수 있습니다! 이러한 임시 값을 삭제하기 전에 DB를 백업해야합니다.


0

과도는 일시적인 것으로 가정하지만 개발자가 코딩 한 내용이 잘못된 경우 모든 과도를 삭제 한 후 테마 / 플러그인 / 위젯 설정을 다시 저장하여 과도를 다시 작성해야 할 수도 있습니다. 대부분의 경우 이것은 문제가되지 않으며 사이트의 모든 과도를 삭제하는 것이 좋습니다.

과도 상태가 삭제되면 테마와 플러그인에서 사용하는 과도 상태를 다시 빌드해야합니다. 이로 인해 일시적으로 트랜지언트가 제거 된 즉시 성능이 저하 될 수 있으며, 그 후에는 데이터베이스에 축적되었을 수있는 불필요한 트랜지언트로 사이트가 약간 더 빠르게 실행됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.