WordPress 데이터베이스 테이블에서 고아 키를 어떻게 삭제합니까?


10

특히 표에서 wp_options. 거의 2 년 동안 블로그를 제작 한 후에는 많이 증가한 것으로 보이며 거기에 얼마나 많은 쓰레기가 있는지 모릅니다.

고아 키 / 행을 검색하기 위해 WordPress 3.0 또는 안전 쿼리와 함께 작동하는 플러그인을 알고 있습니까?

답변:


7

테마 나 플러그인이 wp_options테이블 에 옵션을 추가 할 수 있으므로 사용하지 않는 모든 항목을 삭제하고 삭제하지 않는 쿼리는 100 % 확실하지 않습니다 . 그래도 약간의 노력으로 사용하지 않는 항목에 대한 좋은 아이디어를 얻은 다음 삭제할 항목과 삭제할 항목을 수동으로 결정할 수 있습니다.

다음 코드를 테마 functions.php파일에 임시로 넣은 다음 공개 사이트의 모든 페이지 유형과 관리 콘솔의 모든 관리 페이지를 방문하십시오. 일단 당신이 당신의 wp_options테이블을 열고 필드 use_count(아래 코드로 추가)를보고 어떤 옵션이 use_count0과 같은지 볼 수 있습니다 (사용 횟수는 1보다 큰 것은 읽거나 업데이트되지 않은 것보다 대부분 의미가 없습니다) 이 코드를 추가 한 이후로 한 번 이상.)

global $wpdb;
header('Content-Type:text/plain');
$results = $wpdb->get_results("SHOW COLUMNS FROM wp_options WHERE Field='use_count'");
if (count($results)==0) {
    $wpdb->query("ALTER TABLE {$wpdb->options} ADD COLUMN use_count int UNSIGNED NOT NULL DEFAULT '0' AFTER autoload");
}

add_action('all','monitor_get_option_usage');
function monitor_get_option_usage($filter){
    if (preg_match('#^option_(.*)$#',$filter)) {
        increment_option_use_count(substr($filter,7));
    }
}
add_action('updated_option','monitor_update_option_usage');
function monitor_update_option_usage($option){
    increment_option_use_count($option);
}
function increment_option_use_count($option) {
    global $wpdb;
    $wpdb->query("UPDATE {$wpdb->options} SET use_count = use_count + 1 WHERE option_name = '$option'");
}

이를 통해 오래 전에 사용했던 플러그인, 이전 테마 및 초기에 추가했지만 더 이상 사용하지 않는 자체 옵션과 관련된 옵션을 식별 할 수 있습니다. 경우에 따라 모두 백업으로 내 보낸 다음 삭제하기 쉬운 백업을 삭제하십시오. 완료되면 use_count필드를 제거하고 (원하는 경우 필드가 손상되지 않음) functions.php파일 에서 위의 코드도 제거 할 수 있습니다.

이것은 여전히 ​​완벽하지는 않지만 아무것도 아닌 것보다 낫습니다. 도움이 되길 바랍니다.


나는 거라고 강하게 이것에 대한 memcached를 / 증분 () 대신 DB를 쓰기 잠재적으로 막대한 양의를 추천합니다.
Denis de Bernardy

3
@Denis -memcached에는 대부분의 WordPress 사이트가 호스팅되는 공유 서버에서는 불가능한 고급 서버 설정이 필요하기 때문에 한 번 또는 가끔씩 진단 루틴이므로 필요를 강조하는 이유를 알 수 없습니다 이 사용 사례에 대한 memcached ? 어쩌면 내가 누락 된 것입니다 .VPS 또는 전용 서버로 이동하고 memcached를 구성하는 방법을 배우거나 얻는 방법을 배우는 이유를 자세히 설명 할 수 있습니까? 사용 된 유지 보수 루틴?
MikeSchinkel

4

플러그인 클린 옵션 은 저에게 효과적이었습니다. 플러그인에 대한 저자의 설명은 여러분이 필요로하는 것 같습니다 : "고아 옵션을 찾아서 wp_options 테이블에서 제거 할 수 있습니다."

나는 개인적으로 WP-Optimize를 시도하지 않았지만 그 역시 유망한 것으로 보입니다. 그리고 그것은 WP 2.7 (Clean Options가 WP 2.3에 대한 명확한 지원만을 언급하는 반면)을 지원한다고 말합니다.


2

이것은 반드시 문제를 제거 wp_options하지는 않지만 WP-Optimize 를 사용하여 3.0 사이트의 많은 데이터베이스 크기 문제를 해결했습니다. 불필요한 게시물 수정, 스팸 주석을 지우고 많은 문제를 자동으로 해결할 수 있습니다. 내 기본 블로그에서 DB는 30MB에서 6MB 미만으로 축소되어 훨씬 원활하게 실행됩니다.


1

내 사이트에서 정리 옵션과 WP_Optimize를 모두 실행하며 콤보는 데이터베이스를 훌륭한 형태로 유지하는 훌륭한 작업을 수행합니다.

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