Filtered Indexes
Filtered Index and Statistics
Sergio Govoni
[email protected]
Speaker
Sergio Govoni
• Dal 1999 mi occupo di progettazione, analisi e
sviluppo di un ERP multi-aziendale client/server
in ambiente Win32
– Team leader
– Product manager
• MCP, MCTS, MVP SQL Server
– Lavoro con SQL Server dalla versione 7.0
• Speaker, Editor, Publisher @ UGISS
– www.ugiss.org
– Blog: http://community.ugiss.org/blogs/sgovoni
UGISS - User Group Italiano SQL Server
Agenda
• Filtered Indexes and Statistics
– Overview
– Differenze nella struttura B-Tree per:
• Non Filtered Index
• Filtered Index
– Filtered Statistics
– DEMO: Quando utilizzare un Filtered Index e come
può migliorare le performance delle query
UGISS - User Group Italiano SQL Server
Overview
• Con SQL Server 2008 fanno il loro debutto gli
indici e le statistiche filtrare
• Sono le strutture che conosciamo già a cui però
viene applicato un criterio di filtro:
– CREATE
INDEX…WHERE(<filter_predicate>)
– CREATE
STATISTICS…WHERE(<filter_predicate>)
• Query Optimizer sceglierà di utilizzare un indice
filtrato quando i criteri nella clausola WHERE,
dell’indice e della query, sono simili
UGISS - User Group Italiano SQL Server
Non Filtered Index
• Un indice standard definito su due colonne,
contiene, nel livello foglia, la combinazione dei
valori delle due colonne
Prev | Next
Index rows
Prev | Next
Prev | Next
1-2 ; A-Z
3-4 ; A-Z
Prev | Next
Prev | Next
Prev | Next
Prev | Next
… Data rows
… Data rows
4 CHM
4 PTXY
UGISS - User Group Italiano SQL Server
Filtered Index
• Applicando la clausola WHERE nel comando
CREATE INDEX, le righe che non soddisfano la
condizione verranno ignorate, già nella fase di
costruzione dell’indice
Prev | Next
A-Z
Prev | Next
…
UGISS - User Group Italiano SQL Server
Prev | Next
Prev | Next
CHM
PTXY
Filtered Statistics
• Sono statistiche ottimizzate, vengono create
automaticamente per i Filtered Index
• Consentono di migliorare la qualità del piano di
esecuzione per le query:
– Che utilizzano un indice filtrato
– Su subset di dati nelle colonne non indicizzate
– Che eseguono la selezione da una colonna non
indicizzata che contiene un subset di dati correlati a
valori di un'altra colonna
UGISS - User Group Italiano SQL Server
When use it and benefit
Filtered Index
UGISS - User Group Italiano SQL Server
Filtered Indexes
Risorse Generiche
•
Filtered Index
–
•
Informazioni sul prodotto SQL Server
–
–
•
http://www.ugiss.org
http://community.ugiss.org
Newsgroups pubblici via WEB
–
–
•
http://msdn.microsoft.com/sql
Comunità SQL Server
–
–
•
http://www.microsoft.com/italy/sql
http://www.microsoft.com/sql
Supporto sviluppo e professionisti IT
–
•
http://www.ugiss.org/Content/Article/Filtered-Indexes.aspx
http://www.microsoft.com/italy/communities/newsgroups/default.mspx
http://www.microsoft.com/technet/community/newsgroups/server/sql.mspx
Formazione e mentoring
–
–
http://www.microsoft.com/italy/traincert
http://www.solidqualitylearning.com/
UGISS - User Group Italiano SQL Server
Filtered Indexes
Grazie!
Scarica

FILESTREAM Attribute