SlideShare uma empresa Scribd logo
1 de 23
SQL Saturday
             9                  th
   Night
 Execution Plans
 Microsoft SQL Server 2008 R2




     Σάββατο 26/03/2011
Η παρουςίαςη αυτή καταγράφεται ώςτε να είναι διαθέςιμη ςε
όςουσ θέλουν να την ξαναδούν, ή δεν είχαν την δυνατότητα να
την παρακολουθήςουν ςε πραγματικό χρόνο.
Η παρουςίαςη αυτή διατίθεται δωρεάν.
Εάν κάποιοσ από τουσ παραβριςκόμενουσ ςτην παρουςίαςη
αυτή έχει το οποιοδήποτε πρόβλημα ή αντίρρηςη να είναι μέςα
ςτην καταγραφή αυτήσ, παρακαλείται να αποχωρήςει άμεςα.
Σε διαφορετική περίπτωςη η παρουςία του εκλαμβάνεται ωσ
αποδοχή τησ καταγραφήσ.
Η παρουςίαςη αρχίζει ςε 1 λεπτό…
Antonios Chatzipavlis
Solution Architect - Principal Consultant
Development Evangelist - SQL Server MVP
MCT, MCITP, MCPD, MCSD, MCDBA, MCSA, MCTS, MCAD, MCP,
OCA
Agenda
Execution Plans in Microsoft SQL Server 2008 R2

•
•
•




                                                  4
Microsoft SQL Server 2008 R2




                               5
How a query executed
Basics of Execution Plans in Microsoft SQL Server 2008 R2
                                            Relational Engine

 QUERY
             Query           Parse/Query/Sequence            Algebrizer          Query Processor
            Parsing               Tree Output                 Process              Tree Output



                                                Query Optimizer

                                                   Estimated
              Statistics       Models
                                                 Execution Plan



                                                Storage Engine

               Query                   Actual
              Execution             Execution Plan



               Actual
            Execution Plan          Plan Cache
                                  Actual
                               Execution Plan
                                                        Actual
                                                     Execution Plan
                                                                             Actual
                                                                          Execution Plan


                                                                                                   6
Estimated vs Actual Execution Plans
Basics of Execution Plans in Microsoft SQL Server 2008 R2

•
    •
    •



•
    •
    •




                                                            7
Execution Plan Reuse
Basics of Execution Plans in Microsoft SQL Server 2008 R2

•                       (previously called Procedure Cache)
• Each plan is stored once in Plan Cache
   • Except if the optimizer sees parallelism, in this case one query gets two
     plans.
• Execution Plans are not kept in memory forever.
   • Slowly aged out of the system using an “age” formula
      • Estimated Cost X Number of Times it has been used
   • Lazywriter process periodically scans the cache and decreases this
     value by one each time.




                                                                                 8
demo


       9
Estimated != Actual Execution Plan
Basics of Execution Plans in Microsoft SQL Server 2008 R2

•
•
•




                                                            10
Execution Plan Formats
Basics of Execution Plans in Microsoft SQL Server 2008 R2

•
    •
    •
•
    •
    •
    •
•
    •
    •




                                                            11
demo


       12
Interpreting Graphical Execution Plans
Basics of Execution Plans in Microsoft SQL Server 2008 R2




                                                            13
Interpreting Text Execution Plans
Basics of Execution Plans in Microsoft SQL Server 2008 R2




                                                            14
Microsoft SQL Server 2008 R2




                               15
The Icon Language
The Language of Graphical Execution Plans in Microsoft SQL Server 2008 R2

       Clustered Index Scan
       Clustered Index Seek
       Non-Clustered Index Scan
       Non-Clustered Index Seek
       Key Lookup
       Table Scan
       RID LookUp
       Hash Match
       Nested Loops
       Merge Join
       Sort
       Filter
                                                                            16
demo


       17
Microsoft SQL Server 2008 R2




                               18
19
demo


       20
Contact Me – Follow me

Twitter: antoniosch

Blog:    sqlschoolgr.wordpress.com

Email:   sqlschool.gr@gmail.com



                                     21
Σας Ευχαριστώ


                22
Rocking with Knowledge of SQL Server




 http://www.sqlschool.gr

Mais conteúdo relacionado

Semelhante a 9th ssn execution plans in microsoft sql server 2008 r2

Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...ISSEL
 
Thesis.Net - Training
Thesis.Net - TrainingThesis.Net - Training
Thesis.Net - TrainingAnna Tsolakou
 
3rd StudentGuru Event | Robotics developer studio 2008 | 11-21-2008
3rd StudentGuru Event | Robotics developer studio 2008 | 11-21-20083rd StudentGuru Event | Robotics developer studio 2008 | 11-21-2008
3rd StudentGuru Event | Robotics developer studio 2008 | 11-21-2008Alexandros Sigaras
 
Kagiafas Nikolaos Thesis Presentation
Kagiafas Nikolaos Thesis PresentationKagiafas Nikolaos Thesis Presentation
Kagiafas Nikolaos Thesis PresentationISSEL
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...ISSEL
 
Applying Data Mining Techniques on Software Repositories to Extract Design an...
Applying Data Mining Techniques on Software Repositories to Extract Design an...Applying Data Mining Techniques on Software Repositories to Extract Design an...
Applying Data Mining Techniques on Software Repositories to Extract Design an...ISSEL
 
Dontsios Dimitris
Dontsios DimitrisDontsios Dimitris
Dontsios DimitrisISSEL
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...ISSEL
 
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...ISSEL
 
Μιχαήλ Παπαμιχαήλ
Μιχαήλ ΠαπαμιχαήλΜιχαήλ Παπαμιχαήλ
Μιχαήλ ΠαπαμιχαήλISSEL
 
Θεμιστοκλής Παπαβασιλείου
Θεμιστοκλής ΠαπαβασιλείουΘεμιστοκλής Παπαβασιλείου
Θεμιστοκλής ΠαπαβασιλείουISSEL
 
Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...
Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...
Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...ISSEL
 
Design and implementation of a big data architecture for storage, real-time p...
Design and implementation of a big data architecture for storage, real-time p...Design and implementation of a big data architecture for storage, real-time p...
Design and implementation of a big data architecture for storage, real-time p...ISSEL
 
Development of a system for designing remote digital image processing pipelin...
Development of a system for designing remote digital image processing pipelin...Development of a system for designing remote digital image processing pipelin...
Development of a system for designing remote digital image processing pipelin...ISSEL
 
Ανάπτυξη υποδομής για τη δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας ...
Ανάπτυξη υποδομής για τη δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας ...Ανάπτυξη υποδομής για τη δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας ...
Ανάπτυξη υποδομής για τη δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας ...ISSEL
 
Ιωάννης Τσαφαράς
Ιωάννης ΤσαφαράςΙωάννης Τσαφαράς
Ιωάννης ΤσαφαράςISSEL
 
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...ISSEL
 

Semelhante a 9th ssn execution plans in microsoft sql server 2008 r2 (20)

Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
 
Thesis.Net - Training
Thesis.Net - TrainingThesis.Net - Training
Thesis.Net - Training
 
3rd StudentGuru Event | Robotics developer studio 2008 | 11-21-2008
3rd StudentGuru Event | Robotics developer studio 2008 | 11-21-20083rd StudentGuru Event | Robotics developer studio 2008 | 11-21-2008
3rd StudentGuru Event | Robotics developer studio 2008 | 11-21-2008
 
Kagiafas Nikolaos Thesis Presentation
Kagiafas Nikolaos Thesis PresentationKagiafas Nikolaos Thesis Presentation
Kagiafas Nikolaos Thesis Presentation
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
 
Applying Data Mining Techniques on Software Repositories to Extract Design an...
Applying Data Mining Techniques on Software Repositories to Extract Design an...Applying Data Mining Techniques on Software Repositories to Extract Design an...
Applying Data Mining Techniques on Software Repositories to Extract Design an...
 
Dontsios Dimitris
Dontsios DimitrisDontsios Dimitris
Dontsios Dimitris
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
 
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
 
Μιχαήλ Παπαμιχαήλ
Μιχαήλ ΠαπαμιχαήλΜιχαήλ Παπαμιχαήλ
Μιχαήλ Παπαμιχαήλ
 
Thessaloniki rb-24
Thessaloniki rb-24Thessaloniki rb-24
Thessaloniki rb-24
 
perilipsi
perilipsiperilipsi
perilipsi
 
Θεμιστοκλής Παπαβασιλείου
Θεμιστοκλής ΠαπαβασιλείουΘεμιστοκλής Παπαβασιλείου
Θεμιστοκλής Παπαβασιλείου
 
Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...
Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...
Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...
 
Design and implementation of a big data architecture for storage, real-time p...
Design and implementation of a big data architecture for storage, real-time p...Design and implementation of a big data architecture for storage, real-time p...
Design and implementation of a big data architecture for storage, real-time p...
 
Development of a system for designing remote digital image processing pipelin...
Development of a system for designing remote digital image processing pipelin...Development of a system for designing remote digital image processing pipelin...
Development of a system for designing remote digital image processing pipelin...
 
Ανάπτυξη υποδομής για τη δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας ...
Ανάπτυξη υποδομής για τη δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας ...Ανάπτυξη υποδομής για τη δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας ...
Ανάπτυξη υποδομής για τη δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας ...
 
Ιωάννης Τσαφαράς
Ιωάννης ΤσαφαράςΙωάννης Τσαφαράς
Ιωάννης Τσαφαράς
 
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
 
Μια εισαγωγή στο Bootstrap
Μια εισαγωγή στο Bootstrap Μια εισαγωγή στο Bootstrap
Μια εισαγωγή στο Bootstrap
 

Mais de Antonios Chatzipavlis

Workload Management in SQL Server 2019
Workload Management in SQL Server 2019Workload Management in SQL Server 2019
Workload Management in SQL Server 2019Antonios Chatzipavlis
 
Loading Data into Azure SQL DW (Synapse Analytics)
Loading Data into Azure SQL DW (Synapse Analytics)Loading Data into Azure SQL DW (Synapse Analytics)
Loading Data into Azure SQL DW (Synapse Analytics)Antonios Chatzipavlis
 
Building diagnostic queries using DMVs and DMFs
Building diagnostic queries using DMVs and DMFs Building diagnostic queries using DMVs and DMFs
Building diagnostic queries using DMVs and DMFs Antonios Chatzipavlis
 
Designing a modern data warehouse in azure
Designing a modern data warehouse in azure   Designing a modern data warehouse in azure
Designing a modern data warehouse in azure Antonios Chatzipavlis
 
Modernizing your database with SQL Server 2019
Modernizing your database with SQL Server 2019Modernizing your database with SQL Server 2019
Modernizing your database with SQL Server 2019Antonios Chatzipavlis
 
Designing a modern data warehouse in azure
Designing a modern data warehouse in azure   Designing a modern data warehouse in azure
Designing a modern data warehouse in azure Antonios Chatzipavlis
 
Azure SQL Database for the SQL Server DBA - Azure Bootcamp Athens 2018
Azure SQL Database for the SQL Server DBA - Azure Bootcamp Athens 2018 Azure SQL Database for the SQL Server DBA - Azure Bootcamp Athens 2018
Azure SQL Database for the SQL Server DBA - Azure Bootcamp Athens 2018 Antonios Chatzipavlis
 

Mais de Antonios Chatzipavlis (20)

Data virtualization using polybase
Data virtualization using polybaseData virtualization using polybase
Data virtualization using polybase
 
SQL server Backup Restore Revealed
SQL server Backup Restore RevealedSQL server Backup Restore Revealed
SQL server Backup Restore Revealed
 
Migrate SQL Workloads to Azure
Migrate SQL Workloads to AzureMigrate SQL Workloads to Azure
Migrate SQL Workloads to Azure
 
Machine Learning in SQL Server 2019
Machine Learning in SQL Server 2019Machine Learning in SQL Server 2019
Machine Learning in SQL Server 2019
 
Workload Management in SQL Server 2019
Workload Management in SQL Server 2019Workload Management in SQL Server 2019
Workload Management in SQL Server 2019
 
Loading Data into Azure SQL DW (Synapse Analytics)
Loading Data into Azure SQL DW (Synapse Analytics)Loading Data into Azure SQL DW (Synapse Analytics)
Loading Data into Azure SQL DW (Synapse Analytics)
 
Introduction to DAX Language
Introduction to DAX LanguageIntroduction to DAX Language
Introduction to DAX Language
 
Building diagnostic queries using DMVs and DMFs
Building diagnostic queries using DMVs and DMFs Building diagnostic queries using DMVs and DMFs
Building diagnostic queries using DMVs and DMFs
 
Exploring T-SQL Anti-Patterns
Exploring T-SQL Anti-Patterns Exploring T-SQL Anti-Patterns
Exploring T-SQL Anti-Patterns
 
Designing a modern data warehouse in azure
Designing a modern data warehouse in azure   Designing a modern data warehouse in azure
Designing a modern data warehouse in azure
 
Modernizing your database with SQL Server 2019
Modernizing your database with SQL Server 2019Modernizing your database with SQL Server 2019
Modernizing your database with SQL Server 2019
 
Designing a modern data warehouse in azure
Designing a modern data warehouse in azure   Designing a modern data warehouse in azure
Designing a modern data warehouse in azure
 
SQLServer Database Structures
SQLServer Database Structures SQLServer Database Structures
SQLServer Database Structures
 
Sqlschool 2017 recap - 2018 plans
Sqlschool 2017 recap - 2018 plansSqlschool 2017 recap - 2018 plans
Sqlschool 2017 recap - 2018 plans
 
Azure SQL Database for the SQL Server DBA - Azure Bootcamp Athens 2018
Azure SQL Database for the SQL Server DBA - Azure Bootcamp Athens 2018 Azure SQL Database for the SQL Server DBA - Azure Bootcamp Athens 2018
Azure SQL Database for the SQL Server DBA - Azure Bootcamp Athens 2018
 
Microsoft SQL Family and GDPR
Microsoft SQL Family and GDPRMicrosoft SQL Family and GDPR
Microsoft SQL Family and GDPR
 
Statistics and Indexes Internals
Statistics and Indexes InternalsStatistics and Indexes Internals
Statistics and Indexes Internals
 
Introduction to Azure Data Lake
Introduction to Azure Data LakeIntroduction to Azure Data Lake
Introduction to Azure Data Lake
 
Azure SQL Data Warehouse
Azure SQL Data Warehouse Azure SQL Data Warehouse
Azure SQL Data Warehouse
 
Introduction to azure document db
Introduction to azure document dbIntroduction to azure document db
Introduction to azure document db
 

9th ssn execution plans in microsoft sql server 2008 r2

  • 1. SQL Saturday 9 th Night Execution Plans Microsoft SQL Server 2008 R2 Σάββατο 26/03/2011
  • 2. Η παρουςίαςη αυτή καταγράφεται ώςτε να είναι διαθέςιμη ςε όςουσ θέλουν να την ξαναδούν, ή δεν είχαν την δυνατότητα να την παρακολουθήςουν ςε πραγματικό χρόνο. Η παρουςίαςη αυτή διατίθεται δωρεάν. Εάν κάποιοσ από τουσ παραβριςκόμενουσ ςτην παρουςίαςη αυτή έχει το οποιοδήποτε πρόβλημα ή αντίρρηςη να είναι μέςα ςτην καταγραφή αυτήσ, παρακαλείται να αποχωρήςει άμεςα. Σε διαφορετική περίπτωςη η παρουςία του εκλαμβάνεται ωσ αποδοχή τησ καταγραφήσ. Η παρουςίαςη αρχίζει ςε 1 λεπτό…
  • 3. Antonios Chatzipavlis Solution Architect - Principal Consultant Development Evangelist - SQL Server MVP MCT, MCITP, MCPD, MCSD, MCDBA, MCSA, MCTS, MCAD, MCP, OCA
  • 4. Agenda Execution Plans in Microsoft SQL Server 2008 R2 • • • 4
  • 6. How a query executed Basics of Execution Plans in Microsoft SQL Server 2008 R2 Relational Engine QUERY Query Parse/Query/Sequence Algebrizer Query Processor Parsing Tree Output Process Tree Output Query Optimizer Estimated Statistics Models Execution Plan Storage Engine Query Actual Execution Execution Plan Actual Execution Plan Plan Cache Actual Execution Plan Actual Execution Plan Actual Execution Plan 6
  • 7. Estimated vs Actual Execution Plans Basics of Execution Plans in Microsoft SQL Server 2008 R2 • • • • • • 7
  • 8. Execution Plan Reuse Basics of Execution Plans in Microsoft SQL Server 2008 R2 • (previously called Procedure Cache) • Each plan is stored once in Plan Cache • Except if the optimizer sees parallelism, in this case one query gets two plans. • Execution Plans are not kept in memory forever. • Slowly aged out of the system using an “age” formula • Estimated Cost X Number of Times it has been used • Lazywriter process periodically scans the cache and decreases this value by one each time. 8
  • 9. demo 9
  • 10. Estimated != Actual Execution Plan Basics of Execution Plans in Microsoft SQL Server 2008 R2 • • • 10
  • 11. Execution Plan Formats Basics of Execution Plans in Microsoft SQL Server 2008 R2 • • • • • • • • • • 11
  • 12. demo 12
  • 13. Interpreting Graphical Execution Plans Basics of Execution Plans in Microsoft SQL Server 2008 R2 13
  • 14. Interpreting Text Execution Plans Basics of Execution Plans in Microsoft SQL Server 2008 R2 14
  • 15. Microsoft SQL Server 2008 R2 15
  • 16. The Icon Language The Language of Graphical Execution Plans in Microsoft SQL Server 2008 R2 Clustered Index Scan Clustered Index Seek Non-Clustered Index Scan Non-Clustered Index Seek Key Lookup Table Scan RID LookUp Hash Match Nested Loops Merge Join Sort Filter 16
  • 17. demo 17
  • 18. Microsoft SQL Server 2008 R2 18
  • 19. 19
  • 20. demo 20
  • 21. Contact Me – Follow me Twitter: antoniosch Blog: sqlschoolgr.wordpress.com Email: sqlschool.gr@gmail.com 21
  • 23. Rocking with Knowledge of SQL Server http://www.sqlschool.gr