Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 3583|Απάντηση: 1

[Συμβουλές] [Μεταφορά] σε MySQL Advanced: εντολή βελτιστοποίησης πίνακα

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 17/6/2023 11:40:34 π.μ. | | |
Όταν χρησιμοποιείτε τη mysql, μπορεί να διαπιστώσετε ότι παρόλο που ένας πίνακας διαγράφει πολλά δεδομένα, τα αρχεία δεδομένων και τα αρχεία ευρετηρίου του πίνακα είναι παράξενα μικρά. Αυτό συμβαίνει επειδή η mysql θα αφήσει πολλές τρύπες δεδομένων κατά τη διαγραφή δεδομένων (ειδικά Text και BLOB), οι οποίες θα καταλαμβάνουν το χώρο των αρχικών δεδομένων, επομένως το μέγεθος του αρχείου δεν αλλάζει. Αυτές οι τρύπες μπορεί να επαναχρησιμοποιηθούν στο μέλλον όταν εισάγονται δεδομένα και φυσικά μπορεί να παραμείνουν εκεί. Αυτή η τρύπα όχι μόνο αυξάνει το κόστος αποθήκευσης, αλλά μειώνει επίσης την αποτελεσματικότητα σάρωσης του πίνακα λόγω του κατακερματισμού των δεδομένων.

Σενάρια χρήσης:Εάν έχετε διαγράψει ένα μεγάλο μέρος του πίνακα ή εάν έχετε κάνει πολλές αλλαγές σε έναν πίνακα με γραμμές μεταβλητού μήκους (μία με στήλες VARCHAR, BLOB ή TEXT), θα πρέπει να χρησιμοποιήσετε τη ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΠΙΝΑΚΑ. Οι διαγραμμένες εγγραφές διατηρούνται στη συνδεδεμένη λίστα και οι επόμενες λειτουργίες INSERT επαναχρησιμοποιούν την παλιά θέση εγγραφής. Μπορείτε να χρησιμοποιήσετε το OPTIMIZE TABLE για να επαναπροσδιορίσετε τον αχρησιμοποίητο χώρο και να οργανώσετε τμήματα αρχείων δεδομένων. [Όταν διαγράφεται μεγάλος όγκος δεδομένων από τη βιβλιοθήκη σας, ενδέχεται να διαπιστώσετε ότι το μέγεθος του αρχείου δεδομένων δεν έχει μειωθεί. Αυτό οφείλεται στον κατακερματισμό που απομένει στο αρχείο δεδομένων μετά τη λειτουργία διαγραφής.


Στις περισσότερες ρυθμίσεις, δεν χρειάζεται να εκτελέσετε καθόλου το OPTIMIZE TABLE. Ακόμα κι αν κάνετε πολλές ενημερώσεις σε γραμμές μεταβλητού μήκους, δεν χρειάζεται να τις εκτελείτε συχνά, μία φορά την εβδομάδα ή μία φορά το μήνα, μόνο για συγκεκριμένους πίνακες.

Το OPTIMIZE TABLE λειτουργεί μόνο για πίνακες MyISAM, BDB και InnoDB.

Για πίνακες BDB, το OPTIMIZE TABLE αντιστοιχίζεται επί του παρόντος στον ΑΝΑΛΥΣΗ ΠΙΝΑΚΑ. Για πίνακες InnoDB, το OPTIMIZE TABLE αντιστοιχίζεται στο ALTER TABLE, το οποίο αναδημιουργεί τον πίνακα. Αναδημιουργήστε τις λειτουργίες, ενημερώστε τα στατιστικά ευρετηρίου και ελευθερώστε αχρησιμοποίητο χώρο σε ομαδοποιημένα ευρετήρια.

Σημείωση: Η MySQL κλειδώνει τον πίνακα κατά την εκτέλεση του OPTIMIZE TABLE.

Για το myisam, μπορείτε να χρησιμοποιήσετε απευθείας τον πίνακα βελτιστοποίησης table.name,Όταν πρόκειται για τη μηχανή InnoDB, θα αναφέρει "Ο πίνακας δεν υποστηρίζει βελτιστοποίηση, κάνοντας αναδημιουργία + ανάλυση" και υπό κανονικές συνθήκες, εάν κάνετε μετατροπή από myisam σε innodb, θα χρησιμοποιήσετε το alter table table.name engine='innodb' για μετατροπή και μπορείτε επίσης να το χρησιμοποιήσετε για βελτιστοποίηση.Επομένως, όταν πρόκειται για τη μηχανή InnoDB, μπορούμε να χρησιμοποιήσουμε alter table table.name engine='innodb' αντί για βελτιστοποίηση για βελτιστοποίηση

Για να δείτε τα εφέ πριν και μετά, μπορείτε να χρησιμοποιήσετε την εντολή εμφάνισης κατάστασης πίνακα, όπως εμφάνιση κατάστασης πίνακα από [βάση δεδομένων] όπως '[table_name]'; Το data_free στο αποτέλεσμα επιστροφής είναι ο αποθηκευτικός χώρος που καταλαμβάνει το κενό.

Το σενάριο κελύφους που υλοποιεί την επισκευή πίνακα χρονομετρημένου ελέγχου παρτίδας MySQL και τον πίνακα βελτιστοποίησης πίνακα βελτιστοποίησης είναι το εξής:

Αρχικός:

Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή.




Προηγούμενος:Χρησιμοποιήστε το εργαλείο διείσδυσης SQLMAP Δοκιμή έγχυσης SQL
Επόμενος:Οδηγός εγκατάστασης Consul σε δοκιμαστικό περιβάλλον των Windows
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 6/7/2023 6:54:17 μ.μ. |
--Κατάλογος


-- Διορθώστε τον πίνακα


-- Βελτιστοποιήστε τον πίνακα


Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com