απαιτήσεις: Εάν υπάρχει ένας πίνακας με δεκάδες εκατομμύρια δεδομένα, είναι απαραίτητο να προσθέσετε ένα μη συγκεντρωτικό ευρετήριο στον πίνακα για να βελτιώσετε την αποτελεσματικότητα του ερωτήματος, αλλά η βάση δεδομένων εκτελείται ήδη στο περιβάλλον παραγωγής και πολλές εφαρμογές εκτελούν λειτουργίες προσθήκης, διαγραφής, τροποποίησης και ερωτημάτων στον πίνακα, πράγμα που σημαίνει επίσης ότι πολλά νήματα εκτελούν λειτουργίες στον πίνακα. Εάν χρησιμοποιείτε μια κανονική δήλωση προσθήκης ευρετηρίου απευθείας στον πίνακα, θα προκαλέσει μη φυσιολογική εκτέλεση του προγράμματος στο περιβάλλον παραγωγής, όπως αποκλεισμό και λήξη χρονικού ορίου εκτέλεσης.
Η κανονική πρόταση SQL για την προσθήκη ενός μη ομαδοποιημένου ευρετηρίου είναι η εξής:
Η βελτιστοποιημένη για την ασφάλεια πρόταση SQL για την προσθήκη μη ομαδοποιημένων ευρετηρίων έχει ως εξής:
Ερμηνεία:
ONLINE = ON Ρόλος: Επιτρέπει στους χρήστες να υποβάλλουν ερωτήματα, να εισάγουν, να ενημερώνουν και να διαγράφουν πίνακες (δηλαδή, "online" λειτουργίες) κατά τη δημιουργία ευρετηρίου, που υποστηρίζεται μόνο από την Enterprise Edition. SORT_IN_TEMPDB = Συνάρτηση ON: Μεταφέρετε τα "προσωρινά δεδομένα ταξινόμησης" που απαιτούνται για τη δημιουργία/ανακατασκευή ευρετηρίου από τη βάση δεδομένων της επιχείρησής σας στο tempdb, όχι στην επιχειρηματική βάση δεδομένων στην οποία εργάζομαι. MAXDOP = 4 Ρόλος: Καθορίζει το MAXDOP για να περιορίσει τον παραλληλισμό για να διασφαλίσει ότι δεν καταλαμβάνει όλους τους χρονοδιακόπτες, δηλαδή να περιορίσει τη λειτουργία ευρετηρίου ώστε να εκτελείται παράλληλα με έως και 4 πυρήνες CPU (νήματα).
Αναφορά:
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή. |