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

Άποψη: 173|Απάντηση: 0

[Συμβουλές] Συμπίεση γραμμών πινάκων βάσης δεδομένων SQL Server και συμπίεση σελίδων

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 9/1/2026 11:20:06 π.μ. | | | |
Απαιτήσεις: Στη βάση δεδομένων του SQL Server, υπάρχει ένας πίνακας (π.χ. πίνακας καταγραφής, πίνακας καταγραφής αιτημάτων) που καταλαμβάνει πολύ μεγάλο χώρο στο δίσκο, ίσως εκατοντάδες GB, πώς να μειώσετε τη χρήση του χώρου στον πίνακα; Η συμπίεση δεδομένων (εξοικονόμηση χώρου) μπορεί να ενεργοποιηθεί για εξαιρετικά επαναλαμβανόμενο κείμενο (π.χ. HTML, JSON, αρχεία καταγραφής).

Συμπίεση ROW

Η συμπίεση θα αλλάξει τη φυσική αποθήκευση των δεδομένων, αλλά όχι τη λογική δομή των δεδομένων. Η διαδικασία συμπίεσης γραμμής:

Προσδιορίστε τον τύπο δεδομένων κάθε στήλης και μετατρέψτε τον σε μεταβλητό μήκος
Τέλος, ο όγκος των αιτημάτων αποθηκευτικού χώρου μειώνεται στην πραγματική ζήτηση
Μετά τη συμπίεση, ο όγκος των αποθηκευμένων δεδομένων σε κάθε σελίδα αυξάνεται
Μετά τη συμπίεση, μειώστε την ποσότητα των μεταδεδομένων
Για παράδειγμα, εάν ο τύπος δεδομένων μιας στήλης είναι smallint, το σύστημα εκχωρεί 2 byte από προεπιλογή
Αλλά στην πραγματικότητα, χρησιμοποιείται μόνο 1 byte χώρου και εάν η συμπίεση είναι ενεργοποιημένη στο τραπέζι, μπορεί να εκχωρηθεί κατ' απαίτηση

Συμπίεση PAGE

Η συμπίεση σελίδας εκτελεί πρόσθετες λειτουργίες για τη βελτίωση της συμπίεσης γραμμών
Κύριες λειτουργίες: συμπίεση γραμμής, συμπίεση προθέματος, συμπίεση λεξικού

Κατανάλωση CPU: Συμπίεση PAGE > συμπίεση σειρών

Δοκιμή

Δημιουργήστε νέους πίνακες Users1 και Users2, εισαγάγετε και οι δύο 100.000 τμήματα δεδομένων και η δέσμη ενεργειών sql έχει ως εξής:
Για να δείτε την πληρότητα του χώρου του πίνακα, η οποία είναι συνολικά 3,27 MB, η εντολή είναι η εξής:
Οπως φαίνεται παρακάτω:



Για να δείτε την κατάσταση συμπίεσης του πίνακα Users2, η εντολή είναι η εξής:
Οπως φαίνεται παρακάτω:



sp_estimate_data_compression_savingsΥπολογίστε την εξοικονόμηση που μπορεί να προκύψει όταν ενεργοποιείτε πίνακες ή διαμερίσματα για γραμμές, σελίδες, χώρους αποθήκευσης στηλών, αρχειοθήκες χώρου αποθήκευσης στηλών ή συμπίεση XML. Η εντολή είναι η εξής:
Η έξοδος έχει ως εξής:
object_name schema_name index_id partition_number size_with_current_compression_setting(KB) size_with_requested_compression_setting(KB)        sample_size_with_current_compression_setting(KB) sample_size_with_requested_compression_setting(KB)
Χρήστες2 dbo 1 1 3368 1296 3448 1328

size_with_current_compression_setting (KB) 3368 KB Το ευρετήριο καταλαμβάνει ≈ 3,29 MB με τις τρέχουσες ρυθμίσεις συμπίεσης
size_with_requested_compression_setting (KB) 1296 KB Εκτιμώμενο εμβαδόν ≈ 1,27 MB εάν ενεργοποιήσετε τη νέα μέθοδο συμπίεσης που ζητάτε, όπως PAGE ή ROW
Για να εκτελέσετε συμπίεση σελίδας, η εντολή είναι η εξής:
Σύγκριση αποτελεσμάτων:Ο πίνακας Users2 είναι 3,27 MB πριν από τη συμπίεση και 1,23 MB μετά τη συμπίεση, όπως φαίνεται στο παρακάτω σχήμα:



Η οπτικοποίηση έχει ως εξής:



Αναφορά:

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




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

Mail To:help@itsvse.com