Reading execution plans successfully

Slides:



Advertisements
Similar presentations
SQL Server performance tuning basics
Advertisements

Dave Ballantyne Clear Sky SQL. ›Freelance Database Developer/Designer –Specializing in SQL Server for 15+ years ›SQLLunch –Lunchtime usergroup –London.
Troubleshooting SQL Server Enterprise Geodatabase Performance Issues
How a little code can help with support.. Chris Barba – Developer at Cimarex Energy Blog:
Denny Cherry Manager of Information Systems MVP, MCSA, MCDBA, MCTS, MCITP.
Module 7 Reading SQL Server® 2008 R2 Execution Plans.
Ashwani Roy Understanding Graphical Execution Plans Level 200.
Query Optimizer Execution Plan Cost Model Joe Chang
Analysing Indexes SQLBits 6 th October 2007 © Colin Leversuch-Roberts Kelem Consulting Limited September 2007.
Eugene Meidinger Execution Plans
Dave LinkedIn
How to kill SQL Server Performance Håkan Winther.
SQL Server Statistics DEMO SQL Server Statistics SREENI JULAKANTI,MCTS.MCITP,MCP. SQL SERVER Database Administration.
Scott Fallen Sales Engineer, SQL Sentry Blog: scottfallen.blogspot.com.
Execution Plans Detail From Zero to Hero İsmail Adar.
SQL Server Statistics DEMO SQL Server Statistics SREENI JULAKANTI,MCTS.MCITP SQL SERVER Database Administration.
Diving into Query Execution Plans ED POLLACK AUTOTASK CORPORATION DATABASE OPTIMIZATION ENGINEER.
SQL IMPLEMENTATION & ADMINISTRATION Indexing & Views.
Authoring for Performance
SQL Server Statistics and its relationship with Query Optimizer
Execution Planning for Success
SQL Server Statistics 101 Travis Whitley Senior Consultant, Oakwood Systems whitleysql.wordpress.com.
Query Tuning without Production Data
UFC #1433 In-Memory tables 2014 vs 2016
Efficiently Searching Schema in SQL Server
Query Tuning without Production Data
Query Tuning without Production Data
Reading execution plans successfully
Data Virtualization Tutorial: JSON_TABLE Queries
Please Support Our Sponsors
Reading Execution Plans Successfully
Blazing-Fast Performance:
Introduction to Execution Plans
Marcos Freccia Stop everything! Top T-SQL tricks to a developer
The Key to the Database Engine
Cardinality Estimator 2014/2016
Statistics What are the chances
Query Optimization Techniques
SQL Server Mythconceptions And Mythteries
Dave LinkedIn SQL Server Execution Plans: How to use them to find performance bottlenecks Dave LinkedIn.
JULIE McLAIN-HARPER LINKEDIN: JM HARPER
Execution Plans Demystified
Plan cache performance tuning
Statistics: What are they and How do I use them
SQL Server 2016 Execution Plan Analysis Liviu Ieran
Reading Execution Plans Successfully
Tracking Index Usage Like a Pro
SQL Server Query Plans Journeyman and Beyond
The 5 Hidden Performance Gems
SQL Server Mythconceptions And Mythteries
Introduction to reading execution plans
Dave Bland LinkedIn SQL Server Execution Plans: How to use them to find performance bottlenecks Dave Bland LinkedIn
Query Processing CSD305 Advanced Databases.
Please Support our Sponsors
Introduction to Execution Plans
Score a (row) goal and beat a query optimizer
Execution plans Eugene
Diving into Query Execution Plans
Query Profiling Options in SQL Server
Tracking Index Usage Like a Pro
SQL Server Query Design and Optimization Recommendations
Introduction to Execution Plans
Query Optimization Techniques
The Five Mistakes You are Probably Making with SQL Server
SQL Server Execution Plan Primer
Introduction to Execution Plans
All about Indexes Gail Shaw.
Performance Tuning for SQL Developers through Execution Plans
Performance Tuning for SQL Developers through Execution Plans
Presentation transcript:

Reading execution plans successfully Arthur Daniels

Arthur Daniels Twitter: ArthurDanSQL www.DBA-Art.com Database Administrator SAP Fieldglass Started presenting last year “I don’t care how long my query takes as long as it returns results” DBA-Art.com

Overview What makes up an execution plan? What do the operators inside the execution plan mean? What you can infer from your plan DBA-Art.com

My test environment SQL Server 2014 - Developer AdventureWorks 2014 DBA-Art.com

Your environment matters Hardware SQL Settings Min Max Memory, Cost Threshold for Parallelism, Max DOP SQL version DBA-Art.com

Graphical Execution Plan What’s that? DBA-Art.com

Other execution plan features Flow and size of line DBA-Art.com

Graphical Execution Plan Plan Operators Index Seek Index Scan Key Lookup DBA-Art.com

Where and what are they? Graphical Execution Plans are stored as XML SQL Server Management Studio (SSMS) Live Query Stats SQL Server Plan Cache Query Store? DBA-Art.com

The Plan Cache sys.dm_exec_cached_plans (2008) Plan cache contains estimates Emptied when server restarts DBA-Art.com

Plan cache demo To-do: Build plan cache Find our specific plan Look at operator View actual plan’s rows vs estimated. DBA-Art.com

Where do the estimates come from? SQL Server automatically generates statistics One statistic per index One statistic per column once a query searches by that column Search as in Where clause, JOINs DBA-Art.com

Statistics Demo Open Statistics on IX_TransactionHistoryArchive_ProductID DBA-Art.com

Statistics General Used for execution plan estimates Automatically generated One for each index One for each column* Statistics contain header, density vector and histogram DBA-Art.com

Reading deeper Gather Streams Distribute Streams Repartition Streams Parallelism as operators Gather Streams Distribute Streams Repartition Streams DBA-Art.com

Comparing a parallel query to serial query Demo Set Cost Threshold for Parallelism to 1 for this demo DBA-Art.com

Compute Scalar Operator Used for mathematical expressions Referred to as “Expr” DBA-Art.com

Compute Scalar Demo Demo here DBA-Art.com

Implicit Conversion Why? In actual and estimated DBA-Art.com

Reading Implicit Conversions Demo DBA-Art.com

Missing Index Hints Execution plan will contain index suggestions Only the first missing index is shown DBA-Art.com

Missing Indexes Demo DBA-Art.com

Tools inside SQL Server 2016 Query Store Live Query Statistics

Conclusions

Wrap-Up How SQL estimates cost Operators: Index Scan, Index Seek Parallelism Compute Scalar Implicit Conversions Missing Indexes DBA-Art.com

Finally, what you can infer Look at size of lines between operators Discover what operators are doing Search your plan cache for hidden problems DBA-Art.com

Questions? You can also contact me on Twitter, @ArthurDanSQL or my website, www.DBA-Art.com DBA-Art.com

DBA-Art.com Twitter: @ArthurDanSQL Presentation slides + demos Step-by-step instructions for setting up a test server at home: http://www.dba-art.com/setup-local-sql-server/ DBA-Art.com

Useful links Finding Implicit Conversions in your Plan Cache Free graphical plan explorer: https://www.sentryone.com/plan-explorer/ DBA-Art.com