> 백엔드 개발 > PHP 튜토리얼 > WordPress 데이터베이스 최적화 및 정리: DIY 가이드

WordPress 데이터베이스 최적화 및 정리: DIY 가이드

WBOY
풀어 주다: 2024-09-10 18:31:51
원래의
979명이 탐색했습니다.

Optimizing and Cleaning Up Your WordPress Database: A DIY Guide

WordPress 프로젝트가 성장함에 따라 종종 데이터베이스 용량 증가로 인해 발생하는 성능 문제가 나타날 수 있습니다. 데이터베이스 정리에 도움이 되는 플러그인이 많이 있지만 때로는 직접 수행하는 방법을 아는 것이 좋습니다. 이 가이드는 WordPress 데이터베이스를 수동으로 정리하고 최적화하는 과정을 안내합니다.

먼저 백업하세요 - 중요합니다!

데이터베이스를 변경하기 전에 항상 백업을 만드세요. 아래 단계에는 데이터를 영구적으로 삭제하는 파괴적인 SQL 쿼리를 실행하는 작업이 포함되며 중요한 내용을 잃지 않으려고 합니다. 백업을 하면 문제가 발생할 경우 복구할 수 있습니다.

플러그인 대안

SQL 쿼리를 수동으로 실행하는 것이 불편하더라도 걱정하지 마세요. 프로세스를 자동화할 수 있는 몇 가지 훌륭한 플러그인이 있습니다. 다음은 적극 권장되는 몇 가지 옵션입니다.

  • 고급 데이터베이스 클리너
  • WP-스윕
  • WP-최적화

이러한 플러그인은 다양한 데이터베이스 정리 작업을 효율적으로 처리합니다. 플러그인 경로를 사용하더라도 안전을 위해 데이터베이스 정리 작업을 실행하기 전에 백업을 생성해야 합니다.

우리는 무엇을 청소하고 있나요?

목표는 시간이 지남에 따라 데이터베이스에 축적되는 불필요한 데이터, 즉 더 이상 필요하지 않지만 사이트 속도를 저하시킬 수 있는 데이터를 제거하는 것입니다. 우리가 목표로 삼을 대상은 다음과 같습니다.

  • 과도: 데이터베이스에 저장된 임시 데이터입니다.
  • 수정: 이전 게시물 버전
  • 자동 초안: 게시된 적이 없는 초안을 자동으로 저장합니다.
  • 고립된 게시물 메타: 더 이상 존재하지 않는 게시물에 대한 메타데이터입니다.
  • 스팸 및 휴지통 댓글: 원치 않는 댓글이 데이터베이스를 어수선하게 만듭니다.
  • 고아 관계: 사용되지 않는 용어 관계(태그, 카테고리).
  • 만료된 세션: 이전 사용자 세션 데이터.
  • 오래된 플러그인 옵션: 비활성화되거나 삭제된 플러그인으로 인해 남겨진 사용되지 않은 옵션입니다.
  • 첨부되지 않은 미디어: 상위 게시물이 없는 미디어 파일(실제 파일은 삭제되지 않음)

이러한 불필요한 항목을 제거하면 WordPress 데이터베이스 성능을 크게 향상시킬 수 있습니다.

계속하기 전에 데이터베이스를 백업하는 것을 잊지 마세요. 또한 모든 SQL 문을 트랜잭션으로 래핑하여 계획대로 진행되지 않는 경우 변경 사항을 롤백할 수 있습니다.

데이터베이스 성능 향상

데이터베이스 정리 외에도 자주 사용되는 테이블을 최적화하여 성능을 향상시킬 수도 있습니다. 이렇게 하면 조각화가 줄어들고 데이터베이스가 원활하게 실행됩니다.

청소할 준비가 되셨나요?

자신감이 있고 준비가 되었다면 다음 SQL 쿼리를 복사하여 WordPress 서버의 SQL 콘솔에 붙여넣으세요. 쿼리를 주석 처리하거나 삭제하여 건너뛰세요.

WordPress 데이터베이스가 사용자 정의 테이블 접두사를 사용하는 경우 쿼리의 기본 wp_ 접두사를 자신의 것으로 바꾸세요.

최적화 쿼리

이 쿼리는 가장 일반적으로 사용되는 WordPress 테이블 중 일부를 최적화합니다.

-- Optimize commonly used WordPress tables to reduce fragmentation
OPTIMIZE TABLE wp_posts, wp_postmeta, wp_options, wp_usermeta, wp_comments;
로그인 후 복사

정리 쿼리

필요한 경우 롤백할 수 있도록 트랜잭션으로 래핑된 정리 부분은 다음과 같습니다.

-- Start the transaction
START TRANSACTION;

-- Remove transients (temporary data)
DELETE FROM wp_options WHERE option_name LIKE '_transient_%' OR option_name LIKE '_site_transient_%';

-- Remove post revisions
DELETE FROM wp_posts WHERE post_type = 'revision';

-- Remove auto-drafts
DELETE FROM wp_posts WHERE post_status = 'auto-draft';

-- Remove orphaned post meta (meta data for non-existent posts)
DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL;

-- Remove orphaned comment meta
DELETE FROM wp_commentmeta WHERE comment_id NOT IN (SELECT comment_id FROM wp_comments);

-- Remove spam and trashed comments
DELETE FROM wp_comments WHERE comment_approved IN('spam', 'trash');

-- Remove orphaned term relationships (tags, categories linked to non-existent posts)
DELETE tr FROM wp_term_relationships tr LEFT JOIN wp_posts wp ON wp.ID = tr.object_id WHERE wp.ID IS NULL;

-- Remove expired user sessions
DELETE FROM wp_usermeta WHERE meta_key = '_wp_session_expires' AND meta_value < UNIX_TIMESTAMP();

-- Remove old, non-autoloading plugin options
DELETE FROM wp_options WHERE autoload = 'no';

-- Identify unattached media files (this won't delete the files, just shows them)
SELECT * FROM wp_posts WHERE post_type = 'attachment' AND post_parent = 0;

-- Commit the transaction (to apply changes)
COMMIT;
로그인 후 복사

문제가 발생하면 롤백

문제가 발생하거나 뭔가 이상해 보이는 경우 거래를 취소하고 변경 사항을 되돌릴 수 있습니다.

-- Rollback the transaction if you don't want to commit the changes
ROLLBACK;
로그인 후 복사

결론

특히 사이트가 성장함에 따라 우수한 성능을 유지하려면 WordPress 데이터베이스를 정기적으로 정리하고 최적화하는 것이 필수적입니다. 수동으로 수행하든 플러그인을 사용하든 중요한 것은 데이터베이스에 병목 현상이 발생하지 않도록 하는 것입니다.

이 가이드를 따르면 데이터베이스를 안전하고 효율적으로 정리하고 최적화하여 사이트를 원활하게 운영할 수 있습니다. 그리고 기억하세요: 항상 항상 변경하기 전에 백업하세요!

위 내용은 WordPress 데이터베이스 최적화 및 정리: DIY 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿