SlideShare a Scribd company logo
1 of 43
Performance Tune
Like a Microsoft MVP
• Microsoft Field Engineer (PFE) for 6 years
• Working with SQL since 6.5 in ~1998
• @SQLSME, Daniel Janik on LinkedIn, Daniel@SQLDataPros.com
www.SQLTechBlog.com
About Me
About this Webinar
• We’ll discuss performance tuning on a mix of
On-Prem SQL Server and Azure data platform
solutions.
Troubleshooting Flow
O/S Issue?
Taskman
Resmon
Research Error
Message
sys.messages
Storage
ISSUE
?
Specific
Error?
General
Slowness?
Single
Query?
SQL Server’s #1 Bottleneck: Disk Latency
• Caused by a bottleneck in the disk or fabric
– Disk is the physical spindle where the data is stored.
– Fabric is the communication path from the application to
the physical disk (HBA, switch, Fiber Adapter ports, …)
• Can be observed from
– DMVs (Dynamic Management Views)
– Windows tools (Perfmon, Resmon, Storport, …)
– SAN tools
– Azure Portal
Latency causing blocking
XPERF Example
What about Azure SQL Database?
PaaS DMVs
sys.dm_db_resource_stats (per db)
– Collects every 15 seconds
– Stored for 1 hour
– Shows resource utilization
sys.resource_stats (in master)
– Collects every 5 minutes
Storage Limitations in Azure
Small databases
may require a lot of
storage depending
on IOP and
throughput needs
https://docs.microsoft.com/en-us/azure/sql-database/sql-database-managed-
instance-resource-limits#file-io-characteristics-in-general-purpose-tier
Troubleshooting Flow
O/S Issue?
Taskman
Resmon
Research Error
Message
sys.messages
Storage
ISSUE
?
Specific
Error?
General
Slowness?
Single
Query?
Memory
RAM Considerations in Azure
RAM depends on
VCORE count
(adding more VCORES
increases RAM).
4 VCORES may be
enough compute but
20 GB RAM for a 500
GB db may be too little
https://azure.microsoft.com/en-us/pricing/details/sql-database/managed/
Troubleshooting Flow
O/S Issue?
Taskman
Resmon
SQL Issue?
Research Error
Message
sys.messages
Storage Processor
Memory Network
Blocking?
Exec_requests
ISSUE
?
Specific
Error?
General
Slowness?
Single
Query?
Viewing Blocking by Using DMVs
• sys.dm_tran_locks
– Replaces syslockinfo and sp_lock
– Each row has information about both the resource and the request
– request_status = WAIT implies blocking
• sys.dm_os_waiting_tasks
– blocking_session_id > 0
• sys.dm_exec_requests
– status = suspended
– blocking_session_id > 0
• sys.dm_exec_sessions
– Join with each of the above for session details (join on session_id)
DEMO
Lock resource %%lockres%%
Retrieving Query Text
• SQL 2005+
– SYS.DM_EXEC_SQL_TEXT()
• SQL 2014 SP2+
– SYS.DM_EXEC_INPUT_BUFFER()
16
Monitoring Query Performance
Script on GitHub to help monitor query
performance:
https://github.com/DanielJanik/DBAHelpers
Troubleshooting Flow
O/S Issue?
Taskman
Resmon
SQL Issue?
Research Error
Message
sys.messages
Storage Processor
Memory Network
Blocking?
Exec_requests
ISSUE
?
Specific
Error?
General
Slowness?
Single
Query?
Query Stats
Query Statistics
• SQL 2005+
– sys.dm_exec_query_stats
– sys.dm_exec_trigger_stats
– sys.dm_exec_procedure_stats
• SQL 2014+
– sys.dm_exec_query_profiles
• Requires use of SET STATISTICS PROFILE ON;
• Monitors real time query progress while the query is in execution. For example, use
this DMV to determine which part of the query is running slow.
• SQL 2016+
– sys.dm_exec_function_stats
19
Query Optimizer
• The query optimizer
– attempts to find the fastest plan
– validates the query
– parses a query into tree representation
– evaluates possible query plans until a ‘good enough’ plan is found
– can abort optimization due to timeout
– sometimes makes a poor choice
Optimization
Process
Trivial
Plan?
Produce
Query
Plan
Simplification
Phase 0
Phase 1
Phase 2
Cost < 0.2
Cost < 1.0
Cost > Cost
Threshold?
Parallel
Optimization
Query Optimizer DMV
• sys.dm_exec_query_optimizer_info
– Helps understand workloads
– View stats by phase
– Hints
– Statement types
– Cursor info
Real-time Query Analysis
Azure Data Studio extension project on GitHub
https://github.com/DanielJanik/tsqlchecker_adsextension
Graphical Plan
Outer Table
Inner table
Branches
Query Plan Myths
• Estimated plans give me all the facts
• Estimated cost is in “seconds”
• Estimated cost changes if the data is in cache
or if I have faster storage
• Costs are always accurate
Query Optimizer IO cost
• Query Plan IO costs
– Random IO = 0.003125
– Sequential IO = 0.000740741
Incorrect Operator Cost
Never fully trust cost in a query plan.
Use SET STATISTICS IO and SET STATISTICS TIME
Where to start
• Estimated plan
• Graphical plan
• Seeks vs Scans
• Key or RID lookups
• High cost operators
Noteworthy investigation
Look for
• Missing Indexes
• Estimated row count vs actual row count
• Required Memory vs Desired Memory
• Warnings
• Predicate Pushes (Probe Residual, Filter, …)
• Spools, Sorts, and other ‘blocking’ operators
‘Bad’ Plans & Query Performance
• Stats
• Be careful using trace flag 2371
• Ascending Stats
• “@param = is null OR column = @param”
Memory – Runtime data
Example of large grant
<MemoryGrantInfo SerialRequiredMemory="46720"
SerialDesiredMemory="9198680"
RequiredMemory="104880"
DesiredMemory="9256848"
RequestedMemory="5133928" GrantWaitTime="0"
GrantedMemory="5133928"
MaxUsedMemory="322736" />
Example of large grant
<MemoryGrantInfo SerialRequiredMemory="46720"
SerialDesiredMemory="9198680"
RequiredMemory="104880"
DesiredMemory="9,256,848 KB" (9.2 GB!!!)
RequestedMemory="5133928" GrantWaitTime="0"
GrantedMemory="5,133,928 KB" (5.1 GB!!!)
MaxUsedMemory="322,736 KB" /> (322 MB used)
Adaptive Query Plans and IQP
• Microsoft has done a lot of work to help with
these memory grant issues. For more info
refer to the following:
• https://docs.microsoft.com/en-us/sql/relational-
databases/performance/intelligent-query-
processing?view=sql-server-ver15
SARGability
• SARG = Search Argument (aka Predicate)
• SARGable expressions can utilize and index
• Non-SARGable expressions force scans and
can kill performance
Query Operators
• Describe how SQL Server executes the query
• Blocking operators such as Sort, Hash, Spool, & Filter reduce
concurrency
– Data must be fully retrieved before an output is produced
Probe Residual
• Predicate push
• Can reduce performance significantly
Filter
 Predicate Push
 Blocking operator
 Filters output of another operator
Spool
• Blocking operator
• Query Optimizer usage
• Halloween protection
• Dumps data from another operator into a
worktable in TempDB.
Data type conversion
• Often serious bottleneck
• Can be caused by joining two columns
that do not match data types in a join
or union
• Demo
Performance via Constraints
• Trusted constraints can help eliminate joins
• UNIQUE constraint can allow DISTINCT to be
ignored
Troubleshooting Flow
O/S Issue?
Taskman
Resmon
SQL Issue?
Research Error
Message
sys.messages
Storage Processor
Memory Network
Blocking?
Exec_requests
Query Stats
ISSUE
?
Specific
Error?
General
Slowness?
Single
Query?
Wait Stats
Wait Statistics
• SQL 2005+
– sys.dm_os_wait_stats
• SQL 2016+
– sys.dm_exec_session_wait_stats
• Returns information about all the waits encountered
by threads that executed for each session.
41
SQL Server Wait Types
• Typical types seen using the SYS.DM_OS_WAIT_STATS DMV
• Waiting for I/Os to
complete
• Generally not data
pages
• Often associated with
file growth or other
non-read/write
operations
• Waiting for a log flush
operation to complete
• Generally due to disk
latency, although high
activity can contribute
• Waiting for a buffer
(data page) that is in
an I/O operation
• Generally due to disk
latency, although high
I/O queries and lack
of buffer space can
contribute
WRITELOG PAGEIOLATCH_xxASYNC_IO_COMPLETION
IO_COMPLETION
Thank You!

More Related Content

What's hot

Answering the Database Scale Out Problem with PCI SSDs
Answering the Database Scale Out Problem with PCI SSDsAnswering the Database Scale Out Problem with PCI SSDs
Answering the Database Scale Out Problem with PCI SSDsanswers
 
Right-Sizing your SQL Server Virtual Machine
Right-Sizing your SQL Server Virtual MachineRight-Sizing your SQL Server Virtual Machine
Right-Sizing your SQL Server Virtual Machineheraflux
 
Remote DBA Experts SQL Server 2008 New Features
Remote DBA Experts SQL Server 2008 New FeaturesRemote DBA Experts SQL Server 2008 New Features
Remote DBA Experts SQL Server 2008 New FeaturesRemote DBA Experts
 
Building low latency java applications with ehcache
Building low latency java applications with ehcacheBuilding low latency java applications with ehcache
Building low latency java applications with ehcacheChris Westin
 
Distributed caching with java JCache
Distributed caching with java JCacheDistributed caching with java JCache
Distributed caching with java JCacheKasun Gajasinghe
 
Postgresql in Education
Postgresql in EducationPostgresql in Education
Postgresql in Educationdostatni
 
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...elliando dias
 
MySQL Performance Tuning Variables
MySQL Performance Tuning VariablesMySQL Performance Tuning Variables
MySQL Performance Tuning VariablesFromDual GmbH
 
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
Best Practices of HA and Replication of PostgreSQL in Virtualized EnvironmentsBest Practices of HA and Replication of PostgreSQL in Virtualized Environments
Best Practices of HA and Replication of PostgreSQL in Virtualized EnvironmentsJignesh Shah
 
Optimizing MySQL for Cascade Server
Optimizing MySQL for Cascade ServerOptimizing MySQL for Cascade Server
Optimizing MySQL for Cascade Serverhannonhill
 
SOUG_Deployment__Automation_DB
SOUG_Deployment__Automation_DBSOUG_Deployment__Automation_DB
SOUG_Deployment__Automation_DBUniFabric
 
IMC Summit 2016 Breakout - Per Minoborg - Work with Multiple Hot Terabytes in...
IMC Summit 2016 Breakout - Per Minoborg - Work with Multiple Hot Terabytes in...IMC Summit 2016 Breakout - Per Minoborg - Work with Multiple Hot Terabytes in...
IMC Summit 2016 Breakout - Per Minoborg - Work with Multiple Hot Terabytes in...In-Memory Computing Summit
 
Loadays MySQL
Loadays MySQLLoadays MySQL
Loadays MySQLlefredbe
 
Distributed applications using Hazelcast
Distributed applications using HazelcastDistributed applications using Hazelcast
Distributed applications using HazelcastTaras Matyashovsky
 
MongoDB 101 & Beyond: Get Started in MongoDB 3.0, Preview 3.2 & Demo of Ops M...
MongoDB 101 & Beyond: Get Started in MongoDB 3.0, Preview 3.2 & Demo of Ops M...MongoDB 101 & Beyond: Get Started in MongoDB 3.0, Preview 3.2 & Demo of Ops M...
MongoDB 101 & Beyond: Get Started in MongoDB 3.0, Preview 3.2 & Demo of Ops M...MongoDB
 
NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5UniFabric
 
MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014Ryusuke Kajiyama
 
VMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing DatabasesVMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing DatabasesVMworld
 
Caching: A Guided Tour - 10/12/2010
Caching: A Guided Tour - 10/12/2010Caching: A Guided Tour - 10/12/2010
Caching: A Guided Tour - 10/12/2010Jason Ragsdale
 

What's hot (20)

Answering the Database Scale Out Problem with PCI SSDs
Answering the Database Scale Out Problem with PCI SSDsAnswering the Database Scale Out Problem with PCI SSDs
Answering the Database Scale Out Problem with PCI SSDs
 
Right-Sizing your SQL Server Virtual Machine
Right-Sizing your SQL Server Virtual MachineRight-Sizing your SQL Server Virtual Machine
Right-Sizing your SQL Server Virtual Machine
 
Remote DBA Experts SQL Server 2008 New Features
Remote DBA Experts SQL Server 2008 New FeaturesRemote DBA Experts SQL Server 2008 New Features
Remote DBA Experts SQL Server 2008 New Features
 
Building low latency java applications with ehcache
Building low latency java applications with ehcacheBuilding low latency java applications with ehcache
Building low latency java applications with ehcache
 
Distributed caching with java JCache
Distributed caching with java JCacheDistributed caching with java JCache
Distributed caching with java JCache
 
Postgresql in Education
Postgresql in EducationPostgresql in Education
Postgresql in Education
 
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
 
MySQL Performance Tuning Variables
MySQL Performance Tuning VariablesMySQL Performance Tuning Variables
MySQL Performance Tuning Variables
 
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
Best Practices of HA and Replication of PostgreSQL in Virtualized EnvironmentsBest Practices of HA and Replication of PostgreSQL in Virtualized Environments
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
 
Optimizing MySQL for Cascade Server
Optimizing MySQL for Cascade ServerOptimizing MySQL for Cascade Server
Optimizing MySQL for Cascade Server
 
SOUG_Deployment__Automation_DB
SOUG_Deployment__Automation_DBSOUG_Deployment__Automation_DB
SOUG_Deployment__Automation_DB
 
IMC Summit 2016 Breakout - Per Minoborg - Work with Multiple Hot Terabytes in...
IMC Summit 2016 Breakout - Per Minoborg - Work with Multiple Hot Terabytes in...IMC Summit 2016 Breakout - Per Minoborg - Work with Multiple Hot Terabytes in...
IMC Summit 2016 Breakout - Per Minoborg - Work with Multiple Hot Terabytes in...
 
Loadays MySQL
Loadays MySQLLoadays MySQL
Loadays MySQL
 
Distributed applications using Hazelcast
Distributed applications using HazelcastDistributed applications using Hazelcast
Distributed applications using Hazelcast
 
Caching Strategies
Caching StrategiesCaching Strategies
Caching Strategies
 
MongoDB 101 & Beyond: Get Started in MongoDB 3.0, Preview 3.2 & Demo of Ops M...
MongoDB 101 & Beyond: Get Started in MongoDB 3.0, Preview 3.2 & Demo of Ops M...MongoDB 101 & Beyond: Get Started in MongoDB 3.0, Preview 3.2 & Demo of Ops M...
MongoDB 101 & Beyond: Get Started in MongoDB 3.0, Preview 3.2 & Demo of Ops M...
 
NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5NGENSTOR_ODA_P2V_V5
NGENSTOR_ODA_P2V_V5
 
MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014MySQL Performance Tuning at COSCUP 2014
MySQL Performance Tuning at COSCUP 2014
 
VMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing DatabasesVMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing Databases
 
Caching: A Guided Tour - 10/12/2010
Caching: A Guided Tour - 10/12/2010Caching: A Guided Tour - 10/12/2010
Caching: A Guided Tour - 10/12/2010
 

Similar to Geek Sync | Performance Tune Like an MVP

Geek Sync I Learn to Troubleshoot Query Performance in Analysis Services
Geek Sync I Learn to Troubleshoot Query Performance in Analysis ServicesGeek Sync I Learn to Troubleshoot Query Performance in Analysis Services
Geek Sync I Learn to Troubleshoot Query Performance in Analysis ServicesIDERA Software
 
Performance Scenario: Diagnosing and resolving sudden slow down on two node RAC
Performance Scenario: Diagnosing and resolving sudden slow down on two node RACPerformance Scenario: Diagnosing and resolving sudden slow down on two node RAC
Performance Scenario: Diagnosing and resolving sudden slow down on two node RACKristofferson A
 
What are you waiting for
What are you waiting forWhat are you waiting for
What are you waiting forJason Strate
 
Bb world 2012 using database statistics to make capacity planning decisions...
Bb world 2012   using database statistics to make capacity planning decisions...Bb world 2012   using database statistics to make capacity planning decisions...
Bb world 2012 using database statistics to make capacity planning decisions...Geoff Mower
 
Performance Tuning And Optimization Microsoft SQL Database
Performance Tuning And Optimization Microsoft SQL DatabasePerformance Tuning And Optimization Microsoft SQL Database
Performance Tuning And Optimization Microsoft SQL DatabaseTung Nguyen Thanh
 
SharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSPC Adriatics
 
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld
 
Database Fundamental Concepts- Series 1 - Performance Analysis
Database Fundamental Concepts- Series 1 - Performance AnalysisDatabase Fundamental Concepts- Series 1 - Performance Analysis
Database Fundamental Concepts- Series 1 - Performance AnalysisDAGEOP LTD
 
Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502kaziul Islam Bulbul
 
SQL Server 2014 for Developers (Cristian Lefter)
SQL Server 2014 for Developers (Cristian Lefter)SQL Server 2014 for Developers (Cristian Lefter)
SQL Server 2014 for Developers (Cristian Lefter)ITCamp
 
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
 
SQL Explore 2012: P&T Part 1
SQL Explore 2012: P&T Part 1SQL Explore 2012: P&T Part 1
SQL Explore 2012: P&T Part 1sqlserver.co.il
 
Day 7 - Make it Fast
Day 7 - Make it FastDay 7 - Make it Fast
Day 7 - Make it FastBarry Jones
 
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!Teamstudio
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsZohar Elkayam
 
collab2011-tuning-ebusiness-421966.pdf
collab2011-tuning-ebusiness-421966.pdfcollab2011-tuning-ebusiness-421966.pdf
collab2011-tuning-ebusiness-421966.pdfElboulmaniMohamed
 
MySQL Optimization from a Developer's point of view
MySQL Optimization from a Developer's point of viewMySQL Optimization from a Developer's point of view
MySQL Optimization from a Developer's point of viewSachin Khosla
 
Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)camunda services GmbH
 
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 1
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 1Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 1
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 1SolarWinds
 
Presto at Tivo, Boston Hadoop Meetup
Presto at Tivo, Boston Hadoop MeetupPresto at Tivo, Boston Hadoop Meetup
Presto at Tivo, Boston Hadoop MeetupJustin Borgman
 

Similar to Geek Sync | Performance Tune Like an MVP (20)

Geek Sync I Learn to Troubleshoot Query Performance in Analysis Services
Geek Sync I Learn to Troubleshoot Query Performance in Analysis ServicesGeek Sync I Learn to Troubleshoot Query Performance in Analysis Services
Geek Sync I Learn to Troubleshoot Query Performance in Analysis Services
 
Performance Scenario: Diagnosing and resolving sudden slow down on two node RAC
Performance Scenario: Diagnosing and resolving sudden slow down on two node RACPerformance Scenario: Diagnosing and resolving sudden slow down on two node RAC
Performance Scenario: Diagnosing and resolving sudden slow down on two node RAC
 
What are you waiting for
What are you waiting forWhat are you waiting for
What are you waiting for
 
Bb world 2012 using database statistics to make capacity planning decisions...
Bb world 2012   using database statistics to make capacity planning decisions...Bb world 2012   using database statistics to make capacity planning decisions...
Bb world 2012 using database statistics to make capacity planning decisions...
 
Performance Tuning And Optimization Microsoft SQL Database
Performance Tuning And Optimization Microsoft SQL DatabasePerformance Tuning And Optimization Microsoft SQL Database
Performance Tuning And Optimization Microsoft SQL Database
 
SharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi Vončina
 
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right
 
Database Fundamental Concepts- Series 1 - Performance Analysis
Database Fundamental Concepts- Series 1 - Performance AnalysisDatabase Fundamental Concepts- Series 1 - Performance Analysis
Database Fundamental Concepts- Series 1 - Performance Analysis
 
Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502Collaborate 2011-tuning-ebusiness-416502
Collaborate 2011-tuning-ebusiness-416502
 
SQL Server 2014 for Developers (Cristian Lefter)
SQL Server 2014 for Developers (Cristian Lefter)SQL Server 2014 for Developers (Cristian Lefter)
SQL Server 2014 for Developers (Cristian Lefter)
 
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
 
SQL Explore 2012: P&T Part 1
SQL Explore 2012: P&T Part 1SQL Explore 2012: P&T Part 1
SQL Explore 2012: P&T Part 1
 
Day 7 - Make it Fast
Day 7 - Make it FastDay 7 - Make it Fast
Day 7 - Make it Fast
 
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
 
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAsOracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
 
collab2011-tuning-ebusiness-421966.pdf
collab2011-tuning-ebusiness-421966.pdfcollab2011-tuning-ebusiness-421966.pdf
collab2011-tuning-ebusiness-421966.pdf
 
MySQL Optimization from a Developer's point of view
MySQL Optimization from a Developer's point of viewMySQL Optimization from a Developer's point of view
MySQL Optimization from a Developer's point of view
 
Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)
 
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 1
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 1Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 1
Stop the Chaos! Get Real Oracle Performance by Query Tuning Part 1
 
Presto at Tivo, Boston Hadoop Meetup
Presto at Tivo, Boston Hadoop MeetupPresto at Tivo, Boston Hadoop Meetup
Presto at Tivo, Boston Hadoop Meetup
 

More from IDERA Software

The role of the database administrator (DBA) in 2020: Changes, challenges, an...
The role of the database administrator (DBA) in 2020: Changes, challenges, an...The role of the database administrator (DBA) in 2020: Changes, challenges, an...
The role of the database administrator (DBA) in 2020: Changes, challenges, an...IDERA Software
 
Problems and solutions for migrating databases to the cloud
Problems and solutions for migrating databases to the cloudProblems and solutions for migrating databases to the cloud
Problems and solutions for migrating databases to the cloudIDERA Software
 
Public cloud uses and limitations
Public cloud uses and limitationsPublic cloud uses and limitations
Public cloud uses and limitationsIDERA Software
 
Optimize the performance, cost, and value of databases.pptx
Optimize the performance, cost, and value of databases.pptxOptimize the performance, cost, and value of databases.pptx
Optimize the performance, cost, and value of databases.pptxIDERA Software
 
Monitor cloud database with SQL Diagnostic Manager for SQL Server
Monitor cloud database with SQL Diagnostic Manager for SQL ServerMonitor cloud database with SQL Diagnostic Manager for SQL Server
Monitor cloud database with SQL Diagnostic Manager for SQL ServerIDERA Software
 
Database administrators (dbas) face increasing pressure to monitor databases
Database administrators (dbas) face increasing pressure to monitor databasesDatabase administrators (dbas) face increasing pressure to monitor databases
Database administrators (dbas) face increasing pressure to monitor databasesIDERA Software
 
Six tips for cutting sql server licensing costs
Six tips for cutting sql server licensing costsSix tips for cutting sql server licensing costs
Six tips for cutting sql server licensing costsIDERA Software
 
Idera live 2021: The Power of Abstraction by Steve Hoberman
Idera live 2021:  The Power of Abstraction by Steve HobermanIdera live 2021:  The Power of Abstraction by Steve Hoberman
Idera live 2021: The Power of Abstraction by Steve HobermanIDERA Software
 
Idera live 2021: Why Data Lakes are Critical for AI, ML, and IoT By Brian Flug
Idera live 2021:  Why Data Lakes are Critical for AI, ML, and IoT  By Brian FlugIdera live 2021:  Why Data Lakes are Critical for AI, ML, and IoT  By Brian Flug
Idera live 2021: Why Data Lakes are Critical for AI, ML, and IoT By Brian FlugIDERA Software
 
Idera live 2021: Will Data Vault add Value to Your Data Warehouse? 3 Signs th...
Idera live 2021: Will Data Vault add Value to Your Data Warehouse? 3 Signs th...Idera live 2021: Will Data Vault add Value to Your Data Warehouse? 3 Signs th...
Idera live 2021: Will Data Vault add Value to Your Data Warehouse? 3 Signs th...IDERA Software
 
Idera live 2021: Managing Digital Transformation on a Budget by Bert Scalzo
Idera live 2021:  Managing Digital Transformation on a Budget by Bert ScalzoIdera live 2021:  Managing Digital Transformation on a Budget by Bert Scalzo
Idera live 2021: Managing Digital Transformation on a Budget by Bert ScalzoIDERA Software
 
Idera live 2021: Keynote Presentation The Future of Data is The Data Cloud b...
Idera live 2021:  Keynote Presentation The Future of Data is The Data Cloud b...Idera live 2021:  Keynote Presentation The Future of Data is The Data Cloud b...
Idera live 2021: Keynote Presentation The Future of Data is The Data Cloud b...IDERA Software
 
Idera live 2021: Managing Databases in the Cloud - the First Step, a Succes...
Idera live 2021:   Managing Databases in the Cloud - the First Step, a Succes...Idera live 2021:   Managing Databases in the Cloud - the First Step, a Succes...
Idera live 2021: Managing Databases in the Cloud - the First Step, a Succes...IDERA Software
 
Idera live 2021: Database Auditing - on-Premises and in the Cloud by Craig M...
Idera live 2021:  Database Auditing - on-Premises and in the Cloud by Craig M...Idera live 2021:  Database Auditing - on-Premises and in the Cloud by Craig M...
Idera live 2021: Database Auditing - on-Premises and in the Cloud by Craig M...IDERA Software
 
Idera live 2021: Performance Tuning Azure SQL Database by Monica Rathbun
Idera live 2021:  Performance Tuning Azure SQL Database by Monica RathbunIdera live 2021:  Performance Tuning Azure SQL Database by Monica Rathbun
Idera live 2021: Performance Tuning Azure SQL Database by Monica RathbunIDERA Software
 
Geek Sync | How to Be the DBA When You Don't Have a DBA - Eric Cobb | IDERA
Geek Sync | How to Be the DBA When You Don't Have a DBA - Eric Cobb | IDERAGeek Sync | How to Be the DBA When You Don't Have a DBA - Eric Cobb | IDERA
Geek Sync | How to Be the DBA When You Don't Have a DBA - Eric Cobb | IDERAIDERA Software
 
How Users of a Performance Monitoring Tool Can Benefit from an Inventory Mana...
How Users of a Performance Monitoring Tool Can Benefit from an Inventory Mana...How Users of a Performance Monitoring Tool Can Benefit from an Inventory Mana...
How Users of a Performance Monitoring Tool Can Benefit from an Inventory Mana...IDERA Software
 
Benefits of Third Party Tools for MySQL | IDERA
Benefits of Third Party Tools for MySQL | IDERABenefits of Third Party Tools for MySQL | IDERA
Benefits of Third Party Tools for MySQL | IDERAIDERA Software
 
Achieve More with Less Resources | IDERA
Achieve More with Less Resources | IDERAAchieve More with Less Resources | IDERA
Achieve More with Less Resources | IDERAIDERA Software
 
Benefits of SQL Server 2017 and 2019 | IDERA
Benefits of SQL Server 2017 and 2019 | IDERABenefits of SQL Server 2017 and 2019 | IDERA
Benefits of SQL Server 2017 and 2019 | IDERAIDERA Software
 

More from IDERA Software (20)

The role of the database administrator (DBA) in 2020: Changes, challenges, an...
The role of the database administrator (DBA) in 2020: Changes, challenges, an...The role of the database administrator (DBA) in 2020: Changes, challenges, an...
The role of the database administrator (DBA) in 2020: Changes, challenges, an...
 
Problems and solutions for migrating databases to the cloud
Problems and solutions for migrating databases to the cloudProblems and solutions for migrating databases to the cloud
Problems and solutions for migrating databases to the cloud
 
Public cloud uses and limitations
Public cloud uses and limitationsPublic cloud uses and limitations
Public cloud uses and limitations
 
Optimize the performance, cost, and value of databases.pptx
Optimize the performance, cost, and value of databases.pptxOptimize the performance, cost, and value of databases.pptx
Optimize the performance, cost, and value of databases.pptx
 
Monitor cloud database with SQL Diagnostic Manager for SQL Server
Monitor cloud database with SQL Diagnostic Manager for SQL ServerMonitor cloud database with SQL Diagnostic Manager for SQL Server
Monitor cloud database with SQL Diagnostic Manager for SQL Server
 
Database administrators (dbas) face increasing pressure to monitor databases
Database administrators (dbas) face increasing pressure to monitor databasesDatabase administrators (dbas) face increasing pressure to monitor databases
Database administrators (dbas) face increasing pressure to monitor databases
 
Six tips for cutting sql server licensing costs
Six tips for cutting sql server licensing costsSix tips for cutting sql server licensing costs
Six tips for cutting sql server licensing costs
 
Idera live 2021: The Power of Abstraction by Steve Hoberman
Idera live 2021:  The Power of Abstraction by Steve HobermanIdera live 2021:  The Power of Abstraction by Steve Hoberman
Idera live 2021: The Power of Abstraction by Steve Hoberman
 
Idera live 2021: Why Data Lakes are Critical for AI, ML, and IoT By Brian Flug
Idera live 2021:  Why Data Lakes are Critical for AI, ML, and IoT  By Brian FlugIdera live 2021:  Why Data Lakes are Critical for AI, ML, and IoT  By Brian Flug
Idera live 2021: Why Data Lakes are Critical for AI, ML, and IoT By Brian Flug
 
Idera live 2021: Will Data Vault add Value to Your Data Warehouse? 3 Signs th...
Idera live 2021: Will Data Vault add Value to Your Data Warehouse? 3 Signs th...Idera live 2021: Will Data Vault add Value to Your Data Warehouse? 3 Signs th...
Idera live 2021: Will Data Vault add Value to Your Data Warehouse? 3 Signs th...
 
Idera live 2021: Managing Digital Transformation on a Budget by Bert Scalzo
Idera live 2021:  Managing Digital Transformation on a Budget by Bert ScalzoIdera live 2021:  Managing Digital Transformation on a Budget by Bert Scalzo
Idera live 2021: Managing Digital Transformation on a Budget by Bert Scalzo
 
Idera live 2021: Keynote Presentation The Future of Data is The Data Cloud b...
Idera live 2021:  Keynote Presentation The Future of Data is The Data Cloud b...Idera live 2021:  Keynote Presentation The Future of Data is The Data Cloud b...
Idera live 2021: Keynote Presentation The Future of Data is The Data Cloud b...
 
Idera live 2021: Managing Databases in the Cloud - the First Step, a Succes...
Idera live 2021:   Managing Databases in the Cloud - the First Step, a Succes...Idera live 2021:   Managing Databases in the Cloud - the First Step, a Succes...
Idera live 2021: Managing Databases in the Cloud - the First Step, a Succes...
 
Idera live 2021: Database Auditing - on-Premises and in the Cloud by Craig M...
Idera live 2021:  Database Auditing - on-Premises and in the Cloud by Craig M...Idera live 2021:  Database Auditing - on-Premises and in the Cloud by Craig M...
Idera live 2021: Database Auditing - on-Premises and in the Cloud by Craig M...
 
Idera live 2021: Performance Tuning Azure SQL Database by Monica Rathbun
Idera live 2021:  Performance Tuning Azure SQL Database by Monica RathbunIdera live 2021:  Performance Tuning Azure SQL Database by Monica Rathbun
Idera live 2021: Performance Tuning Azure SQL Database by Monica Rathbun
 
Geek Sync | How to Be the DBA When You Don't Have a DBA - Eric Cobb | IDERA
Geek Sync | How to Be the DBA When You Don't Have a DBA - Eric Cobb | IDERAGeek Sync | How to Be the DBA When You Don't Have a DBA - Eric Cobb | IDERA
Geek Sync | How to Be the DBA When You Don't Have a DBA - Eric Cobb | IDERA
 
How Users of a Performance Monitoring Tool Can Benefit from an Inventory Mana...
How Users of a Performance Monitoring Tool Can Benefit from an Inventory Mana...How Users of a Performance Monitoring Tool Can Benefit from an Inventory Mana...
How Users of a Performance Monitoring Tool Can Benefit from an Inventory Mana...
 
Benefits of Third Party Tools for MySQL | IDERA
Benefits of Third Party Tools for MySQL | IDERABenefits of Third Party Tools for MySQL | IDERA
Benefits of Third Party Tools for MySQL | IDERA
 
Achieve More with Less Resources | IDERA
Achieve More with Less Resources | IDERAAchieve More with Less Resources | IDERA
Achieve More with Less Resources | IDERA
 
Benefits of SQL Server 2017 and 2019 | IDERA
Benefits of SQL Server 2017 and 2019 | IDERABenefits of SQL Server 2017 and 2019 | IDERA
Benefits of SQL Server 2017 and 2019 | IDERA
 

Recently uploaded

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 

Recently uploaded (20)

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 

Geek Sync | Performance Tune Like an MVP

  • 1. Performance Tune Like a Microsoft MVP
  • 2. • Microsoft Field Engineer (PFE) for 6 years • Working with SQL since 6.5 in ~1998 • @SQLSME, Daniel Janik on LinkedIn, Daniel@SQLDataPros.com www.SQLTechBlog.com About Me
  • 3. About this Webinar • We’ll discuss performance tuning on a mix of On-Prem SQL Server and Azure data platform solutions.
  • 4. Troubleshooting Flow O/S Issue? Taskman Resmon Research Error Message sys.messages Storage ISSUE ? Specific Error? General Slowness? Single Query?
  • 5. SQL Server’s #1 Bottleneck: Disk Latency • Caused by a bottleneck in the disk or fabric – Disk is the physical spindle where the data is stored. – Fabric is the communication path from the application to the physical disk (HBA, switch, Fiber Adapter ports, …) • Can be observed from – DMVs (Dynamic Management Views) – Windows tools (Perfmon, Resmon, Storport, …) – SAN tools – Azure Portal
  • 8. What about Azure SQL Database?
  • 9. PaaS DMVs sys.dm_db_resource_stats (per db) – Collects every 15 seconds – Stored for 1 hour – Shows resource utilization sys.resource_stats (in master) – Collects every 5 minutes
  • 10. Storage Limitations in Azure Small databases may require a lot of storage depending on IOP and throughput needs https://docs.microsoft.com/en-us/azure/sql-database/sql-database-managed- instance-resource-limits#file-io-characteristics-in-general-purpose-tier
  • 11. Troubleshooting Flow O/S Issue? Taskman Resmon Research Error Message sys.messages Storage ISSUE ? Specific Error? General Slowness? Single Query? Memory
  • 12. RAM Considerations in Azure RAM depends on VCORE count (adding more VCORES increases RAM). 4 VCORES may be enough compute but 20 GB RAM for a 500 GB db may be too little https://azure.microsoft.com/en-us/pricing/details/sql-database/managed/
  • 13. Troubleshooting Flow O/S Issue? Taskman Resmon SQL Issue? Research Error Message sys.messages Storage Processor Memory Network Blocking? Exec_requests ISSUE ? Specific Error? General Slowness? Single Query?
  • 14. Viewing Blocking by Using DMVs • sys.dm_tran_locks – Replaces syslockinfo and sp_lock – Each row has information about both the resource and the request – request_status = WAIT implies blocking • sys.dm_os_waiting_tasks – blocking_session_id > 0 • sys.dm_exec_requests – status = suspended – blocking_session_id > 0 • sys.dm_exec_sessions – Join with each of the above for session details (join on session_id)
  • 16. Retrieving Query Text • SQL 2005+ – SYS.DM_EXEC_SQL_TEXT() • SQL 2014 SP2+ – SYS.DM_EXEC_INPUT_BUFFER() 16
  • 17. Monitoring Query Performance Script on GitHub to help monitor query performance: https://github.com/DanielJanik/DBAHelpers
  • 18. Troubleshooting Flow O/S Issue? Taskman Resmon SQL Issue? Research Error Message sys.messages Storage Processor Memory Network Blocking? Exec_requests ISSUE ? Specific Error? General Slowness? Single Query? Query Stats
  • 19. Query Statistics • SQL 2005+ – sys.dm_exec_query_stats – sys.dm_exec_trigger_stats – sys.dm_exec_procedure_stats • SQL 2014+ – sys.dm_exec_query_profiles • Requires use of SET STATISTICS PROFILE ON; • Monitors real time query progress while the query is in execution. For example, use this DMV to determine which part of the query is running slow. • SQL 2016+ – sys.dm_exec_function_stats 19
  • 20. Query Optimizer • The query optimizer – attempts to find the fastest plan – validates the query – parses a query into tree representation – evaluates possible query plans until a ‘good enough’ plan is found – can abort optimization due to timeout – sometimes makes a poor choice
  • 21. Optimization Process Trivial Plan? Produce Query Plan Simplification Phase 0 Phase 1 Phase 2 Cost < 0.2 Cost < 1.0 Cost > Cost Threshold? Parallel Optimization
  • 22. Query Optimizer DMV • sys.dm_exec_query_optimizer_info – Helps understand workloads – View stats by phase – Hints – Statement types – Cursor info
  • 23. Real-time Query Analysis Azure Data Studio extension project on GitHub https://github.com/DanielJanik/tsqlchecker_adsextension
  • 25. Query Plan Myths • Estimated plans give me all the facts • Estimated cost is in “seconds” • Estimated cost changes if the data is in cache or if I have faster storage • Costs are always accurate
  • 26. Query Optimizer IO cost • Query Plan IO costs – Random IO = 0.003125 – Sequential IO = 0.000740741
  • 27. Incorrect Operator Cost Never fully trust cost in a query plan. Use SET STATISTICS IO and SET STATISTICS TIME
  • 28. Where to start • Estimated plan • Graphical plan • Seeks vs Scans • Key or RID lookups • High cost operators
  • 29. Noteworthy investigation Look for • Missing Indexes • Estimated row count vs actual row count • Required Memory vs Desired Memory • Warnings • Predicate Pushes (Probe Residual, Filter, …) • Spools, Sorts, and other ‘blocking’ operators
  • 30. ‘Bad’ Plans & Query Performance • Stats • Be careful using trace flag 2371 • Ascending Stats • “@param = is null OR column = @param”
  • 31. Memory – Runtime data Example of large grant <MemoryGrantInfo SerialRequiredMemory="46720" SerialDesiredMemory="9198680" RequiredMemory="104880" DesiredMemory="9256848" RequestedMemory="5133928" GrantWaitTime="0" GrantedMemory="5133928" MaxUsedMemory="322736" /> Example of large grant <MemoryGrantInfo SerialRequiredMemory="46720" SerialDesiredMemory="9198680" RequiredMemory="104880" DesiredMemory="9,256,848 KB" (9.2 GB!!!) RequestedMemory="5133928" GrantWaitTime="0" GrantedMemory="5,133,928 KB" (5.1 GB!!!) MaxUsedMemory="322,736 KB" /> (322 MB used)
  • 32. Adaptive Query Plans and IQP • Microsoft has done a lot of work to help with these memory grant issues. For more info refer to the following: • https://docs.microsoft.com/en-us/sql/relational- databases/performance/intelligent-query- processing?view=sql-server-ver15
  • 33. SARGability • SARG = Search Argument (aka Predicate) • SARGable expressions can utilize and index • Non-SARGable expressions force scans and can kill performance
  • 34. Query Operators • Describe how SQL Server executes the query • Blocking operators such as Sort, Hash, Spool, & Filter reduce concurrency – Data must be fully retrieved before an output is produced
  • 35. Probe Residual • Predicate push • Can reduce performance significantly
  • 36. Filter  Predicate Push  Blocking operator  Filters output of another operator
  • 37. Spool • Blocking operator • Query Optimizer usage • Halloween protection • Dumps data from another operator into a worktable in TempDB.
  • 38. Data type conversion • Often serious bottleneck • Can be caused by joining two columns that do not match data types in a join or union • Demo
  • 39. Performance via Constraints • Trusted constraints can help eliminate joins • UNIQUE constraint can allow DISTINCT to be ignored
  • 40. Troubleshooting Flow O/S Issue? Taskman Resmon SQL Issue? Research Error Message sys.messages Storage Processor Memory Network Blocking? Exec_requests Query Stats ISSUE ? Specific Error? General Slowness? Single Query? Wait Stats
  • 41. Wait Statistics • SQL 2005+ – sys.dm_os_wait_stats • SQL 2016+ – sys.dm_exec_session_wait_stats • Returns information about all the waits encountered by threads that executed for each session. 41
  • 42. SQL Server Wait Types • Typical types seen using the SYS.DM_OS_WAIT_STATS DMV • Waiting for I/Os to complete • Generally not data pages • Often associated with file growth or other non-read/write operations • Waiting for a log flush operation to complete • Generally due to disk latency, although high activity can contribute • Waiting for a buffer (data page) that is in an I/O operation • Generally due to disk latency, although high I/O queries and lack of buffer space can contribute WRITELOG PAGEIOLATCH_xxASYNC_IO_COMPLETION IO_COMPLETION