Αλλαγές στη διαχείριση των indexes

Έχουν δημοσιευτεί 15 Νοεμβρίου 05 05:00 μμ | KelMan 

Άλλη μια αλλαγή στο νέο SQL Server είναι ο τρόπος με τον οποίο μπορούμε να διαχειριστούμε τα indexes. Πλέον έχει προστεθεί functionality στην εντολή ALTER INDEX και δεν είναι υποχρεωτικό να χρησιμοποιούμε τα DBCC statements. Έτσι, μπορούμε να κάνουμε τα παρακάτω:

  • Disable ένα index
    ALTER INDEX <index_name> ΟΝ <table_name> DISABLE
  • Rebuild ένα index
    ALTER INDEX <index_name> ΟΝ <table_name> REBUILD
    Αυτό αντιστοιχεί με το DBCC DBREINDEX και πέραν του προφανή λόγου που χρησιμοποιείται κάνει επίσης enable ένα index που έχουμε κάνει disable με το προηγούμενο statement (Λογικό αυτό γιατί το disabled index έχει «μείνει» στα παλιά data).
  • Reorganize index
    ALTER INDEX <index_name> ΟΝ <table_name> REORGANIZE
    Αυτό αντιστοιχεί με το DBCC INDEXDEFRAG δηλαδή είναι on-line operation (όπερ σημαίνει ότι δεν γίνονται locks που να επηρεάζουν την ομαλή λειτουργία του πίνακα) όμως παίζει μόνο στο leaf-level του index.

Επίσης, κατά το ALTER INDEX και CREATE INDEX υπάρχουν και κάποια index options όπως ONLINE = {ON | OFF}, ALLOW_ROW_LOCKS
= {ON | OFF}, ALLOW_PAGE_LOCKS = {ON | OFF} και MAXDOP = number_of_processors

Σε ότι αφορά τα indexes, μια αλλαγή που έχει να κάνει με το performance είναι ότι πλέον μπορούμε να συμπεριλάβουμε σε ένα nonclustered index και πεδία που δεν είναι κλειδιά. Μάλιστα, αυτά τα πεδία δεν προσμετράνε στον περιορισμό των 16 πεδίων ανά index. Ουσιαστικά, αυτό που γίνεται είναι να «ανεβαίνουν» τα πεδία από τα data pages του πίνακα, στα leaf-pages του index και έτσι, μπορούμε να δημιουργήσουμε ευκολότερα covering indexes. Ο τρόπος για να κάνουμε τα προηγούμενα είναι στο CREATE INDEX statement να προσθέσουμε στο τέλος ένα INCLUDE με τα πεδία που μας ενδιαφέρουν.

Τέλος, μπορούμε να δημιουργήσουμε και partioned indexes ακολουθώντας σχεδόν την ίδια διαδικασία με τα partitioned tables.

Δημοσίευση στην κατηγορία:

Σχόλια:

Χωρίς Σχόλια
Έχει απενεργοποιηθεί η προσθήκη σχολίων από ανώνυμα μέλη

Search

Go

Συνδρομές