Κάθε φόρτωση σελίδας, υποβολή φόρμας, λειτουργία πρόσθετου και συνεδρία χρήστη στο WordPress περιλαμβάνει ερωτήματα στη βάση δεδομένων. Με την πάροδο του χρόνου, η βάση δεδομένων συσσωρεύει επιπλέον δεδομένα: παλιές αναθεωρήσεις αναρτήσεων, ληγμένα προσωρινά δεδομένα, ορφανά μεταδεδομένα, σχόλια spam και αχρησιμοποίητους πίνακες από απενεργοποιημένα πρόσθετα. Αυτή η υπερφόρτωση επιβραδύνει τα ερωτήματα, αυξάνει το μέγεθος των αντιγράφων ασφαλείας και υποβαθμίζει τη συνολική απόδοση της ιστοσελίδας. Αυτός ο οδηγός καλύπτει πώς να εντοπίσετε την υπερφόρτωση της βάσης δεδομένων, να την καθαρίσετε με ασφάλεια και να αποτρέψετε την επιστροφή της.
Τι Αποθηκεύει το WordPress στη Βάση Δεδομένων
Η κατανόηση του τι υπάρχει στη βάση δεδομένων σας βοηθά να εντοπίσετε τι μπορεί να αφαιρεθεί με ασφάλεια. Μια τυπική εγκατάσταση WordPress χρησιμοποιεί 12 βασικούς πίνακες, και τα πρόσθετα προσθέτουν τους δικούς τους πίνακες όπως απαιτείται.
| Πίνακας | Αποθηκεύει | Κοινή Πηγή Υπερφόρτωσης |
|---|---|---|
| wp_posts | Αναρτήσεις, σελίδες, αναθεωρήσεις, συνημμένα, τύποι αναρτήσεων προσαρμοσμένοι | Αναθεωρήσεις αναρτήσεων, αυτόματες προσχέσεις |
| wp_postmeta | Μεταδεδομένα για αναρτήσεις (προσαρμοσμένα πεδία, δεδομένα πρόσθετου) | Ορφανά μεταδεδομένα από διαγραμμένες αναρτήσεις |
| wp_options | Ρυθμίσεις ιστοσελίδας, ρυθμίσεις πρόσθετου, προσωρινά δεδομένα | Ληγμένα προσωρινά δεδομένα, παλιές ρυθμίσεις πρόσθετου |
| wp_comments | Σχόλια και trackbacks | Σχόλια spam, διαγραμμένα σχόλια |
| wp_commentmeta | Μεταδεδομένα για σχόλια | Μεταδεδομένα Akismet για διαγραμμένα σχόλια |
| wp_usermeta | Μεταδεδομένα χρήστη | Tokens συνεδρίας, δεδομένα χρήστη πρόσθετου |
| wp_termmeta | Μεταδεδομένα για κατηγορίες και ετικέτες | Ορφανά μεταδεδομένα όρων |
Κοινές Πηγές Υπερφόρτωσης Βάσης Δεδομένων
Αναθεωρήσεις Αναρτήσεων
Το WordPress αποθηκεύει μια αναθεώρηση κάθε φορά που κάνετε κλικ στο "Αποθήκευση Προσχεδίου" ή "Ενημέρωση" σε μια ανάρτηση ή σελίδα. Μια ανάρτηση που έχει επεξεργαστεί 50 φορές έχει 50 αναθεωρήσεις αποθηκευμένες στον πίνακα wp_posts, κάθε μία με το δικό της σύνολο εγγραφών postmeta. Σε μια ιστοσελίδα με εκατοντάδες αναρτήσεις, οι αναθεωρήσεις μπορούν να αντιπροσωπεύουν χιλιάδες περιττές γραμμές στη βάση δεδομένων.
Προσωρινά Δεδομένα
Τα προσωρινά δεδομένα είναι προσωρινές πληροφορίες που αποθηκεύονται στον πίνακα wp_options από τον πυρήνα του WordPress και τα πρόσθετα. Έχουν χρόνους λήξης, αλλά το WordPress δεν διαγράφει αυτόματα τα ληγμένα προσωρινά δεδομένα. Συσσωρεύονται με την πάροδο του χρόνου και μπορούν να αυξήσουν σημαντικά τον πίνακα επιλογών, ειδικά σε ιστοσελίδες με πολλά πρόσθετα.
Ορφανά Δεδομένα
Όταν διαγράφετε μια ανάρτηση, τα μεταδεδομένα της (εγγραφές wp_postmeta) ενδέχεται να μην διαγραφούν. Ομοίως, η διαγραφή σχολίων, χρηστών ή όρων μπορεί να αφήσει πίσω ορφανά μεταδεδομένα. Τα απενεργοποιημένα και διαγραμμένα πρόσθετα συχνά αφήνουν τους πίνακες της βάσης δεδομένων τους πίσω, καταναλώνοντας χώρο και δημιουργώντας ακαταστασία στη βάση δεδομένων σας.
Σχόλια Spam και Διαγραμμένα Περιεχόμενα
Σχόλια spam, διαγραμμένες αναρτήσεις και διαγραμμένα σχόλια παραμένουν στη βάση δεδομένων μέχρι να αδειάσουν χειροκίνητα. Ιστοσελίδες με Akismet ή άλλες φίλτρα spam μπορεί να συσσωρεύσουν χιλιάδες σχόλια spam που χρειάζονται περιοδικό καθαρισμό.
Αυτόματες Προσχέσεις
Το WordPress δημιουργεί αυτόματες προσχέσεις αναρτήσεων όταν κάνετε κλικ στο "Προσθήκη Νέου" στον επεξεργαστή αναρτήσεων, ακόμη και αν δεν δημοσιεύσετε ποτέ. Αυτές συσσωρεύονται με την πάροδο του χρόνου και δεν εξυπηρετούν κανένα σκοπό μετά την ολοκλήρωση της συνεδρίας επεξεργασίας.
Χειροκίνητος Καθαρισμός Βάσης Δεδομένων μέσω SQL
Για όσους είναι άνετοι με το SQL, μπορείτε να καθαρίσετε απευθείας χρησιμοποιώντας το phpMyAdmin ή έναν πελάτη βάσης δεδομένων. Πάντα να δημιουργείτε αντίγραφο ασφαλείας της βάσης δεδομένων σας πριν εκτελέσετε ερωτήματα καθαρισμού.
Διαγραφή Αναθεωρήσεων Αναρτήσεων
-- Διαγραφή όλων των αναθεωρήσεων αναρτήσεων
DELETE FROM wp_posts WHERE post_type = 'revision';
-- Διαγραφή ορφανών postmeta (μεταδεδομένα για διαγραμμένες αναρτήσεις)
DELETE pm FROM wp_postmeta pm
LEFT JOIN wp_posts p ON pm.post_id = p.ID
WΕΔΩ p.ID ΕΙΝΑΙ NULL;
Καθαρισμός Transients
-- Διαγραφή ληγμένων transients
DELETE FROM wp_options
WHERE option_name LIKE '%_transient_timeout_%'
AND option_value < UNIX_TIMESTAMP();
-- Διαγραφή των δεδομένων transient για ληγμένα transients
DELETE FROM wp_options
WHERE option_name LIKE '%_transient_%'
AND option_name NOT LIKE '%_transient_timeout_%';
Αφαίρεση Σχολίων Spam και Σκουπιδιών
-- Διαγραφή σχολίων spam
DELETE FROM wp_comments WHERE comment_approved = 'spam';
-- Διαγραφή σχολίων σκουπιδιών
DELETE FROM wp_comments WHERE comment_approved = 'trash';
-- Διαγραφή ορφανών μεταδεδομένων σχολίων
DELETE cm FROM wp_commentmeta cm
LEFT JOIN wp_comments c ON cm.comment_id = c.comment_ID
WHERE c.comment_ID IS NULL;
Καθαρισμός Βάσης Δεδομένων με Βασισμένα σε Πρόσθετα
Αν προτιμάτε μια προσέγγιση με GUI, αρκετά πρόσθετα διαχειρίζονται την βελτιστοποίηση της βάσης δεδομένων με δυνατότητες προγραμματισμού:
WP-Optimize
Το WP-Optimize είναι ένα δωρεάν πρόσθετο που καθαρίζει αναθεωρήσεις, προσχέδια, spam, transients και ορφανά δεδομένα. Επίσης, βελτιστοποιεί τους πίνακες της βάσης δεδομένων και υποστηρίζει προγραμματισμένους καθαρισμούς. Η Pro έκδοση προσθέτει υποστήριξη για πολλαπλές τοποθεσίες και προηγμένο προγραμματισμό.
Βελτιστοποίηση Βάσης Δεδομένων WP Rocket
WP Rocket περιλαμβάνει μια καρτέλα Βάσης Δεδομένων που διαχειρίζεται αναθεωρήσεις, αυτόματα προσχέδια, σκουπίδια αναρτήσεις, spam σχόλια, transients και βελτιστοποίηση πινάκων. Δεδομένου ότι το WP Rocket είναι κυρίως ένα πρόσθετο caching, έχετε καθαρισμό βάσης δεδομένων μαζί με βελτιστοποίηση απόδοσης σε ένα εργαλείο.
Προηγμένος Καθαριστής Βάσης Δεδομένων
Αυτό το πρόσθετο πηγαίνει πιο βαθιά ανιχνεύοντας πίνακες που έχουν μείνει πίσω από απενεργοποιημένα πρόσθετα και ορφανά cron events. Κατηγοριοποιεί τους πίνακες ως πυρήνα WordPress, δημιουργημένους από πρόσθετα ή άγνωστους, βοηθώντας σας να προσδιορίσετε ποιους πίνακες είναι ασφαλές να αφαιρέσετε.
Πρόσθετο
Δωρεάν Έκδοση
Προγραμματισμένος Καθαρισμός
Ανίχνευση Πινάκων
WP-Optimize
Ναι
Ναι
Βασικό
WP Rocket
Όχι (Μόνο Premium)
Ναι
Όχι
Προηγμένος Καθαριστής Βάσης Δεδομένων
Ναι
Μόνο Pro
Ναι (λεπτομερής)
Βελτιστοποιήσεις wp-config.php
Αποτρέψτε την υπερφόρτωση της βάσης δεδομένων από την πηγή προσθέτοντας αυτές τις σταθερές στο αρχείο wp-config.php σας:
Περιορισμός Αναθεωρήσεων Αναρτήσεων
// Κρατήστε μόνο 5 αναθεωρήσεις ανά ανάρτηση (συνιστάται)
define( 'WP_POST_REVISIONS', 5 );
// Απενεργοποίηση αναθεωρήσεων εντελώς (δεν συνιστάται για τις περισσότερες τοποθεσίες)
define( 'WP_POST_REVISIONS', false );
Η ρύθμιση των αναθεωρήσεων σε 5 παρέχει αρκετό ιστορικό για να ανακτήσετε από λάθη ενώ αποτρέπει την απεριόριστη ανάπτυξη αναθεωρήσεων. Για ιστότοπους με περιεχόμενο που έχει πολλές επεξεργασίες, 10 αναθεωρήσεις είναι μια λογική εναλλακτική λύση.
Αυτόματος Άδειασμα Σκουπιδιών
// Άδειασμα σκουπιδιών κάθε 7 ημέρες (προεπιλογή είναι 30)
define( 'EMPTY_TRASH_DAYS', 7 );
// Απενεργοποίηση σκουπιδιών (τα αντικείμενα διαγράφονται αμέσως - χρησιμοποιήστε με προσοχή)
define( 'EMPTY_TRASH_DAYS', 0 );
Διάστημα Αυτόματης Αποθήκευσης
// Αυξήστε το διάστημα αυτόματης αποθήκευσης σε 5 λεπτά (προεπιλογή είναι 60 δευτερόλεπτα)
define( 'AUTOSAVE_INTERVAL', 300 );
Βελτιστοποίηση Πινάκων Βάσης Δεδομένων
Μετά τη διαγραφή γραμμών, εκτελέστε μια λειτουργία OPTIMIZE για να ανακτήσετε κατακερματισμένο χώρο:
OPTIMIZE TABLE wp_posts, wp_postmeta, wp_options, wp_comments, wp_commentmeta;
Προγραμματίστε αυτό μηνιαίως ή μετά από μεγάλες λειτουργίες καθαρισμού. Τα περισσότερα πρόσθετα καθαρισμού περιλαμβάνουν τη βελτιστοποίηση πινάκων στις προγραμματισμένες εργασίες τους.
Προγραμματισμός Αυτόματης Καθαριότητας
Ρυθμίστε αυτοματοποιημένα προγράμματα: εβδομαδιαία καθαριότητα προσωρινών και ανεπιθύμητων, μηνιαία αφαίρεση αναθεωρήσεων και βελτιστοποίηση πινάκων, και τριμηνιαίους ελέγχους πινάκων ορφανών προσθέτων. Το WP-Optimize και το WP Rocket υποστηρίζουν και τα δύο προγραμματισμένη καθαριότητα. Ρυθμίστε τα κατά τις ώρες εκτός αιχμής.
Παρακολούθηση Μεγέθους Βάσης Δεδομένων
Παρακολουθήστε το μέγεθος της βάσης δεδομένων σας για να εντοπίσετε την υπερφόρτωση νωρίς. Εκτελέστε αυτό το ερώτημα για να δείτε τα μεγέθη των ατομικών πινάκων:
SELECT table_name AS 'Πίνακας',
ROUND(data_length / 1024 / 1024, 2) AS 'Δεδομένα (MB)',
table_rows AS 'Γραμμές'
FROM information_schema.tables
WHERE table_schema = 'το_όνομα_της_βάσης_δεδομένων_σας'
ORDER BY (data_length + index_length) DESC
LIMIT 20;
Εάν το wp_options ξεπερνά τα 5 MB ή το wp_postmeta αυξάνεται πάνω από 100 MB, είναι καιρός για καθαριότητα. Αυτοί οι πίνακες ερωτώνται συχνά, οπότε το μέγεθός τους επηρεάζει άμεσα τους χρόνους φόρτωσης σελίδας.
Για μια ολοκληρωμένη προσέγγιση βελτιστοποίησης απόδοσης που περιλαμβάνει τη βελτιστοποίηση της βάσης δεδομένων μαζί με την προσωρινή αποθήκευση, τη βελτιστοποίηση εικόνας και τη διαμόρφωση του διακομιστή, διαβάστε τον οδηγό βελτιστοποίησης ταχύτητας WordPress. Για συνεχή υγεία της βάσης δεδομένων ως μέρος της ρουτίνας συντήρησής σας, δείτε τον οδηγό συντήρησης WordPress.
Για περισσότερες λεπτομέρειες, ανατρέξτε στην επίσημη τεκμηρίωση: WordPress API Βάσης Δεδομένων.
Συχνές Ερωτήσεις
Είναι ασφαλές να διαγράψω τις αναθεωρήσεις δημοσιεύσεων από τη βάση δεδομένων;
Ναι, η διαγραφή αναθεωρήσεων δημοσιεύσεων είναι ασφαλής και δεν επηρεάζει το δημοσιευμένο περιεχόμενο σας. Οι αναθεωρήσεις είναι ιστορικές στιγμιότυπες αλλαγών προσχεδίων. Μόλις το περιεχόμενό σας ολοκληρωθεί, οι αναθεωρήσεις δεν εξυπηρετούν κανέναν σκοπό για τις περισσότερες ιστοσελίδες. Ωστόσο, πάντα να κάνετε αντίγραφο ασφαλείας της βάσης δεδομένων σας πριν από οποιαδήποτε καθαριότητα.
Θα βελτιώσει η βελτιστοποίηση της βάσης δεδομένων την ταχύτητα της ιστοσελίδας μου αισθητά;
Η βελτίωση εξαρτάται από το πόσο υπερφορτωμένη είναι η βάση δεδομένων σας. Ιστοσελίδες με 50.000+ ορφανές γραμμές ή πίνακα wp_options που ξεπερνά τα 10 MB θα δουν αισθητές βελτιώσεις στους χρόνους φόρτωσης σελίδας και στην απόκριση του πίνακα ελέγχου διαχειριστή. Μικρότερες ιστοσελίδες μπορεί να δουν περιθωριακά οφέλη. Η βελτιστοποίηση της βάσης δεδομένων λειτουργεί παράλληλα με την προσωρινή αποθήκευση και άλλα μέτρα απόδοσης για σωρευτική βελτίωση.
Πόσο συχνά πρέπει να βελτιστοποιώ τη βάση δεδομένων WordPress;
Για ενεργές ιστοσελίδες με τακτικές ενημερώσεις περιεχομένου, η μηνιαία βελτιστοποίηση είναι μια καλή βάση. Ιστοσελίδες με υψηλή επισκεψιμότητα που έχουν συχνά σχόλια, συναλλαγές WooCommerce ή υποβολές φορμών μπορεί να ωφεληθούν από εβδομαδιαία καθαριότητα προσωρινών και ανεπιθύμητων με μηνιαία βελτιστοποίηση πινάκων.
Μπορούν τα πρόσθετα καθαρισμού βάσης δεδομένων να σπάσουν την ιστοσελίδα μου;
Αξιόπιστα πρόσθετα όπως το WP-Optimize και το WP Rocket έχουν σχεδιαστεί για να είναι ασφαλή. Στοχεύουν σε γνωστές κατηγορίες υπερφόρτωσης (αναθεωρήσεις, προσωρινά, ανεπιθύμητα) και δεν αγγίζουν τα απαραίτητα δεδομένα. Ο κίνδυνος αυξάνεται όταν διαγράφετε χειροκίνητα πίνακες συγκεκριμένων προσθέτων. Εάν δεν είστε σίγουροι αν ένας πίνακας είναι απαραίτητος, αφήστε τον στη θέση του και ερευνήστε πρώτα τον σκοπό του.
Ποια είναι η διαφορά μεταξύ του OPTIMIZE TABLE και της διαγραφής γραμμών;
Η διαγραφή γραμμών αφαιρεί δεδομένα από τον πίνακα. Το OPTIMIZE TABLE αναδιοργανώνει την φυσική αποθήκευση του πίνακα αφού έχουν διαγραφεί οι γραμμές, ανακτώντας χώρο στο δίσκο και αποσυμπιέζοντας το αρχείο δεδομένων. Σκεφτείτε το ως τη διαγραφή αρχείων (αφαίρεση γραμμών) σε σύγκριση με την αποσυμπίεση του σκληρού σας δίσκου (βελτιστοποίηση του πίνακα).
Πρέπει να χρησιμοποιήσω InnoDB ή MyISAM για τους πίνακες WordPress;
Το WordPress χρησιμοποιεί InnoDB από προεπιλογή από την έκδοση 5.5, και είναι η συνιστώμενη μηχανή αποθήκευσης. Το InnoDB υποστηρίζει κλείδωμα σε επίπεδο γραμμής (καλύτερο για ταυτόχρονους χρήστες), συναλλαγές και ανάκτηση από καταστροφές. Το MyISAM είναι ταχύτερο για λειτουργίες που απαιτούν ανάγνωση, αλλά στερείται αυτών των χαρακτηριστικών αξιοπιστίας. Εάν βρείτε πίνακες MyISAM στη βάση δεδομένων σας, η μετατροπή τους σε InnoDB συνιστάται γενικά.
Πώς μπορώ να εντοπίσω πίνακες που άφησαν απενεργοποιημένα πρόσθετα;
Το πρόσθετο Advanced Database Cleaner μπορεί να ανιχνεύσει και να κατηγοριοποιήσει μη βασικούς πίνακες. Εναλλακτικά, εκτελέστε το SQL ερώτημα SHOW TABLES και συγκρίνετε τα ονόματα των πινάκων με τους βασικούς πίνακες του WordPress και τα ενεργά πρόσθετά σας. Πίνακες με προθέματα που ταιριάζουν με απενεργοποιημένα πρόσθετα είναι υποψήφιοι προς αφαίρεση.
Προσθέτει το WooCommerce σημαντική υπερφόρτωση στη βάση δεδομένων;
Ναι. Το WooCommerce αποθηκεύει δεδομένα παραγγελιών, μεταδεδομένα προϊόντων, συνεδρίες πελατών και προσωρινά που αυξάνονται σημαντικά σε ενεργές καταστήματα. Χρησιμοποιήστε το WooCommerce > Κατάσταση > Εργαλεία για να καθαρίσετε τα ληγμένα προσωρινά και τις συνεδρίες τακτικά.
Βελτιστοποιήστε την Απόδοση από Κάθε Γωνία
Το WP Rocket διαχειρίζεται την προσωρινή αποθήκευση, την καθαριότητα της βάσης δεδομένων και τη βελτιστοποίηση απόδοσης σε ένα πρόσθετο, ώστε να μπορείτε να διατηρείτε την ιστοσελίδα σας σε ομαλή λειτουργία.
Εξερευνήστε το WP Rocket →



