Σύνοψη
Αυτή η ενημέρωση παρουσιάζει ένα νέο όρισμα υπόδειξη ερωτήματος, Χρησιμοποιήστε την υπόδειξη, η οποία σας επιτρέπει να οδηγήσετε τη βελτιστοποίηση ερωτημάτων χωρίς αυξημένα διαπιστευτήρια ή χωρίς να είστε μέλος του ρόλου του διακομιστή διαχειριστή. Η σύνταξη αυτής της νέας υπόδειξης ερωτήματος μοιάζει με την εξής:
<query_hint > ::={USE HINT(N'key' [ [, ]...n ])}
Αυτή η ενημέρωση παρουσιάζει επίσης τις ακόλουθες επιλογές υπόδειξης που μπορούν να χρησιμοποιηθούν με το όρισμα " χρήση υπόδειξης ".
Επιλογή |
Αντίστοιχη σημαία ανίχνευσης |
Περιγραφή |
Ισχύει για |
---|---|---|---|
ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS |
TF 9476 |
Προκαλεί τον SQL Server να δημιουργήσει ένα σχέδιο ερωτήματος χρησιμοποιώντας την απλή υπόθεση περιορισμού αντί για την προεπιλεγμένη υπόθεση περιορισμού βάσης για τους συνδέσμους, κάτω από τη βελτιστοποίηση ερωτήματος Μοντέλο εκτίμησης προτεραιότητα του SQL Server 2014 (12. x) ή νεότερη έκδοση. |
|
ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES |
TF 4137 |
Προκαλεί τον SQL Server να δημιουργήσει ένα πρόγραμμα χρησιμοποιώντας την ελάχιστη επιλεκτικότητα κατά την εκτίμηση και τα κατηγόρημα για τα φίλτρα για να λογοδοτήσουν για συσχέτιση. Αυτό το όνομα υπόδειξης είναι παράλληλο με σημαία παρακολούθησης 4137 όταν χρησιμοποιείται με το μοντέλο εκτίμησης προτεραιότητα του SQL server 2012 (11. x) και παλαιότερες εκδόσεις και έχει παρόμοιο αποτέλεσμα όταν χρησιμοποιείται η σημαία παρακολούθησης 9471 με το μοντέλο εκτίμησης προτεραιότητα του SQL Server 2014 (12. x) ή νεότερη έκδοση. |
|
DISABLE_BATCH_MODE_ADAPTIVE_JOINS |
Απενεργοποιεί τους προσαρμοζόμενους συνδέσμους για τη λειτουργία δέσμης. |
Ξεκινώντας από τον SQL Server 2017 |
|
DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK |
Απενεργοποιεί τα σχόλια εκχώρησης μνήμης λειτουργίας δέσμης. |
Ξεκινώντας από τον SQL Server 2017 |
|
DISABLE_DEFERRED_COMPILATION_TV |
Απενεργοποιεί τη συλλογή μεταβλητών πίνακα που αναβλήθηκε. |
Ξεκινώντας από τον SQL Server 2019 |
|
DISABLE_INTERLEAVED_EXECUTION_TVF |
Απενεργοποιεί την εκτέλεση με την οποία έχει διαφύγει η εκτέλεση για συναρτήσεις πολλών τιμών πίνακα-τιμών. |
Ξεκινώντας από τον SQL Server 2017 |
|
DISABLE_OPTIMIZED_NESTED_LOOP |
TF 2340 |
Καθοδηγεί τον επεξεργαστή ερωτημάτων να μην χρησιμοποιήσει μια λειτουργία sort (είδος δέσμης) για τους συνδέσμους βελτιστοποιημένων ένθετων βρόχων κατά τη δημιουργία ενός σχεδίου ερωτήματος. |
|
DISABLE_OPTIMIZER_ROWGOAL |
TF 4138 |
Προκαλεί τον SQL Server να δημιουργήσει ένα πρόγραμμα που δεν χρησιμοποιεί τροποποιήσεις στόχου γραμμής με ερωτήματα που περιέχουν αυτές τις λέξεις-κλειδιά:
|
|
DISABLE_PARAMETER_SNIFFING |
TF 4136 |
Καθοδηγεί τη βελτιστοποίηση ερωτημάτων να χρησιμοποιεί τη μέση κατανομή δεδομένων κατά τη μεταγλώττιση ενός ερωτήματος με μία ή περισσότερες παραμέτρους. Αυτή η οδηγία κάνει το πρόγραμμα ερωτήματος ανεξάρτητο στην τιμή παραμέτρου που χρησιμοποιήθηκε για πρώτη φορά κατά τη μεταγλώττιση του ερωτήματος. Χρησιμοποιήστε αυτήν την υπόδειξη για να παρακάμψετε τη ρύθμιση ρύθμισης παραμέτρων εύρους βάσης δεδομένων PARAMETER_SNIFFING = off. |
|
DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK |
Απενεργοποιεί τη μνήμη κατάστασης λειτουργίας γραμμής για την εκχώρηση σχολίων. |
Ξεκινώντας από τον SQL Server 2019 |
|
DISABLE_TSQL_SCALAR_UDF_INLINING |
Απενεργοποιεί την ευθυγράμμιση του UDF με ανυσμάτων. |
Ξεκινώντας από τον SQL Server 2019 |
|
DISALLOW_BATCH_MODE |
Απενεργοποιεί την εκτέλεση της λειτουργίας δέσμης. |
Ξεκινώντας από τον SQL Server 2019 |
|
ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS |
TF 4139 |
Επιτρέπει την αυτόματη δημιουργία γρήγορων στατιστικών στοιχείων (τροποποίηση ιστογράμματος) για οποιαδήποτε κύρια στήλη ευρετηρίου για την οποία απαιτείται εκτίμηση της προτεραιότητα. Το ιστόγραμμα που χρησιμοποιείται για να εκτιμηθεί η προτεραιότητα θα προσαρμοστεί στο χρόνο μεταγλώττισης του ερωτήματος για να λογοδοτήσει για την πραγματική μέγιστη ή ελάχιστη τιμή αυτής της στήλης. |
|
ENABLE_QUERY_OPTIMIZER_HOTFIXES |
TF 4199 |
Ενεργοποιεί τις επείγουσες επιδιορθώσεις του Query Optimizer (αλλαγές που κυκλοφόρησαν στις αθροιστικές ενημερώσεις και Service Pack του SQL Server). Χρήση αυτής της υπόδειξης για παράκαμψη Ρύθμιση παραμέτρων εύρους δεδομένων QUERY_OPTIMIZER_HOTFIXES = on. |
|
FORCE_DEFAULT_CARDINALITY_ESTIMATION |
TF 9481 |
Επιβάλλει τη βελτιστοποίηση ερωτημάτων για χρήση Μοντέλο εκτίμησης προτεραιότητα που αντιστοιχεί στο τρέχον επίπεδο συμβατότητας βάσης δεδομένων. Χρήση αυτής της υπόδειξης για παράκαμψη Ρύθμιση παραμέτρων εύρους δεδομένων LEGACY_CARDINALITY_ESTIMATION = on. |
|
FORCE_LEGACY_CARDINALITY_ESTIMATION |
TF 9481 |
Επιβάλλει τη βελτιστοποίηση ερωτημάτων για χρήση Μοντέλο εκτίμησης προτεραιότητα του SQL Server 2012 (11. x) και παλαιότερων εκδόσεων. Χρησιμοποιήστε αυτήν την υπόδειξη για να παρακάμψετε τη ρύθμιση ρύθμισης παραμέτρων εύρους βάσης δεδομένων LEGACY_CARDINALITY_ESTIMATION = on. |
|
QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n |
Επιβάλλει τη συμπεριφορά βελτιστοποίησης ερωτήματος σε επίπεδο ερωτήματος. Αυτή η συμπεριφορά συμβαίνει ως εάν το ερώτημα έχει μεταγλωττιστεί με επίπεδο συμβατότητας βάσης δεδομένων n, όπου n είναι ένα υποστηριζόμενο επίπεδο συμβατότητας βάσης δεδομένων. Ανατρέξτε στην ενότηταsys.dm_exec_valid_use_hints για μια λίστα με τις τρέχουσες υποστηριζόμενες τιμές για το n. |
Ξεκινώντας από τον SQL Server 2017 (14. x) ΝΜ |
Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα υποδείξεις (Transact-SQL)-Query.
Περισσότερες πληροφορίες
Αυτή η ενημέρωση περιλαμβάνεται στο Service Pack 1 για τον SQL Server 2016.
Κάθε νέα δομή για τον SQL Server 2016 περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις επιδιορθώσεις ασφαλείας που συμπεριλήφθηκαν στην προηγούμενη δομή. Συνιστάται να εγκαταστήσετε την πιο πρόσφατη έκδοση για τον SQL Server 2016.
Τα σενάρια στα οποία πρέπει να υπονοηθεί η συμπεριφορά του SQL Server Query Optimizer (QO) είναι αρκετά συνηθισμένα και παραδοσιακά αντιμετωπίζονται με τη χρήση αρκετών (τεκμηριωμένων και μη εγγράφων) σημαιών ανίχνευσης. Ωστόσο, όταν οι σημαίες εντοπισμού καθοριστούν καθολικά, μπορεί να έχουν δυσμενείς επιπτώσεις σε άλλους φόρτους εργασίας. Επιπλέον, η ενεργοποίηση τους ανά περίοδο λειτουργίας δεν είναι πρακτική με τις υπάρχουσες εφαρμογές και η ενεργοποίησή τους ανά ερώτημα με το Option QUERYTRACEON απαιτεί συμμετοχή στο ρόλο του σταθερού διακομιστή του διαχειριστής. (Παρόλο που μπορείτε να αντιμετωπίσετε αυτήν τη συμπεριφορά χρησιμοποιώντας έναν οδηγό σχεδίου ή μια αποθηκευμένη διαδικασία, απαιτούνται ακόμα αυξημένα διαπιστευτήρια.) Οι σημαίες ανίχνευσης χρησιμοποιούνται για την προσωρινή ρύθμιση συγκεκριμένων χαρακτηριστικών διακομιστή ή για την απενεργοποίηση μιας συγκεκριμένης συμπεριφοράς, μπορεί να είναι δύσκολο να τα διαχειριστείτε και να τα καταλάβετε. Για πληροφορίες σχετικά με τις σημαίες ανίχνευσης, ανατρέξτε στο θέμα σημαίες ανίχνευσης (Transact-SQL) στην τοποθεσία Web του Microsoft Developer Network (MSDN).
Αναφορές
Μάθετε περισσότερα σχετικά με την ορολογία που χρησιμοποιεί η Microsoft για την περιγραφή ενημερώσεων λογισμικού.