Sau một thời gian cơ sở dữ liệu wordpress của bạn sẽ trở thành một nơi lộn xộn, nơi bạn có thể tìm thấy một loạt các dữ liệu vô dụng được lưu trữ ở dạng các bảng. Các bảng chung nhất trong cơ sở dữ liệu wordpress wp_commentmeta, wp_comments, wp_postmeta, wp_posts, wp_term_relationsheep, wp_terms, wp_term_texonomy, vv..
Mỗi khi có sự thay đổi trên trang web, wordpress đều lưu trữ chúng trong cơ sở dữ liệu. Ví dụ khi bạn tạo một bài mới dữ liệu của nó được lưu trữ trong wp_posts và wp_post_meta và khi bạn chỉnh sửa lại bài, wordpress tạo ra các bản sửa đổi cũng được lưu trữ trong cùng một bảng, đôi khi bạn có thể nhìn thấy 1000 sửa đổi cho một bài duy nhất. Bạn có thể tưởng tượng nếu bạn có 100 bài viết sau đó có ít nhất 1000 sửa đổi cho tất cả các bài viết của bạn có nghĩa là mỗi bài viết của bạn là có 10 bản sao vô dụng, điều đó chỉ gây rối loạn cho cơ sở dữ liệu của bạn và kết quả giảm hiệu suất của trang web, bởi vì máy chủ mất nhiều thời gian hơn để lấy cơ sở dữ liệu của bạn.
WordPress có rất nhiều cách để loại bỏ các sửa đổi không mong muốn từ cơ sở dữ liệu nhưng tôi nghĩ rằng tại sao phải cài đặt thêm trên máy chủ của bạn và tạo ra một số các bảng mới bằng cách chạy một plugin trong khi bạn có thể làm điều này bằng cách chạy vài câu truy vấn SQL đơn giản thông qua phpMyAdmin. Hãy nhớ một nhấp chuột duy nhất sai về phpMyAdmin có thể phá hủy chức năng wordpress trang web của bạn trước khi chạy bất kỳ truy vấn SQL nào.
Hãy tạo một bản sao cơ sở dữ liệu của bạn trước khi làm điều này.
(Có thể tham khảo cách sao lưu ở đây)
Bước 1 : Đăng nhập vào của bạn cPanel.
Bước 2 : Vào phpMyAdmin bảng điều khiển.
Bước 3 : Chọn cơ sở dữ liệu wordpress chính xác và click vào tab SQL ở đầu trang.
Sau khi Bước 3, bạn đã sẵn sàng để chạy một truy vấn SQL. Thực hiện theo các hướng dẫn như được giải thích dưới đây.
Loại bỏ các bản xem lại bài viết không mong muốn trong WordPress
Sau khi Bước 3 nhấp chuột vào SQL tab, nó sẽ đưa đến một trang nơi bạn có thể chạy các truy vấn SQL.
Giao diện chính phpMyAdmin
Trước khi gỡ bỏ bất kỳ sửa đổi bài viết nào của mình, tốt hơn bạn nên xem có bao nhiêu bài được lưu trữ trong SQL. Chạy truy vấn SQL sau để xem có bao nhiêu phiên bản bài viết được lưu trữ trong cơ sở dữ liệu wordpress của bạn.
[code=’sql’]SELECT * FROM wp_posts LEFT JOIN wp_term_relationships ON ( wp_posts.id = wp_term_relationships.object_id ) LEFT JOIN wp_postmeta ON ( wp_posts.id = wp_postmeta.post_id ) WHERE wp_posts.post_type = ‘revision’;[/code]
Bây giờ bạn có thể loại bỏ tất cả các bài sửa đổi không mong muốn bằng cách chạy truy vấn SQL sau đây.
[code=’sql’]DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = ‘revision'[/code]
Truy vấn trên sẽ loại bỏ tất cả các phiên bản bài viết và thông tin dữ liệu liên kết tới các dữ liệu của phiên bản xem lại bài viết được lưu trữ trong bảng wp_posts , wp_postmeta và wp_term_relationships. Truy vấn này sẽ loại bỏ tất cả các dữ liệu liên quan.
Sau khi chạy truy vấn SQL trên, bạn nên tối ưu hóa các bảng cơ sở dữ liệu bị ảnh hưởng để giải phóng không gian và cải thiện hiệu suất. Bạn có thể tối ưu hóa bảng cơ sở dữ liệu bị ảnh hưởng bằng cách chạy truy vấn này:
[code=’sql’]OPTIMIZE TABLE `wp_posts` , `wp_postmeta` , `wp_term_relationships`[/code]
Các hoạt động nêu trên chắc chắn sẽ thúc đẩy hiệu suất trang web wordpress của bạn và cơ sở dữ liệu. Bây giờ sẽ đến loại bỏ các khóa và danh mục không sử dụng. Đôi khi chúng ta tạo các danh mục nhưng không bao giờ sử dụng chúng, dữ liệu của các category được lưu trữ trong bảng wp_terms và wp_term_taxonomy , bạn có thể xem và loại bỏ các khóa và danh mục như vậy bằng cách chạy truy vấn SQL sau đây.
Loại bỏ các danh mục rỗng từ Cơ sở dữ liệu WordPress
Thực hiện theo 3 bước đầu tiên như trên để truy cập bảng điều khiển truy vấn SQL. Sau đó chạy truy vấn này để xem Danh mục rỗng hoặc không sử dụng trong cơ sở dữ liệu WordPress:
[code=’sql’]SELECT
x.count AS howmany,
t.name AS name
FROM
wp_terms AS t,
wp_term_taxonomy AS x
WHERE
t.term_id = x.term_id AND
x.count = 0
ORDER BY
x.count[/code]
Trong truy vấn SQL ở trên, chúng tôi đang sử dụng tuyên bố x.count = 0 để chỉ xem những thể loại mà có id hạn 0, bạn có thể loại bỏ và x.count = 0 từ nơi tuyên bố danh sách tất cả các chuyên mục theo thứ tự tăng dần. Bây giờ để loại bỏ các mục này, bạn có thể chạy truy vấn SQL sau.
[code=’sql’]DELETE t, x
FROM
wp_terms AS t,
wp_term_taxonomy AS x
WHERE
t.term_id = x.term_id AND
x.count = 0[/code]
Sau khi loại bỏ bạn có thể tối ưu hóa lạicác bảng bị ảnh hưởng bằng cách chạy truy vấn này.
[code=’sql’]OPTIMIZE TABLE `wp_terms` , `wp_texonomy`[/code]
Tôi hy vọng hướng dẫn ở trên sẽ là hữu ích cho bạn để nâng cao hiệu suất cơ sở dữ liệu wordpress của bạn. Nếu bạn có bất kỳ vấn đề hoặc lỗi trên hướng dẫn ở trên xin vui lòng cho tôi biết.
Lưu ý: phiên bản phpMyAdmin cPanel và phiên bản WordPress của bạn có thể ảnh hưởng đến chức năng của các truy vấn trên. Đó là khuyến cáo cho phpMyAdmin và WordPress phiên bản trên 3.0 trước khi chạy các truy vấn này. Xin vui lòng kiểm tra phiên bản của bạn. Cũng đừng quên để có một sao lưu đầy đủ của cơ sở dữ liệu của bạn trước khi chạy bất kỳ truy vấn SQL.
Trong trường hợp bạn đang sử dụng tiền tố bảng tùy chỉnh để cài đặt wordpress của bạn (không phải wp_ ) hãy thay tiền tố “wp_” bằng tiền tố bảng tùy chỉnh của bạn trong các truy vấn trên.
Tham khảo: WordPress Database Description