Introduction
As a Senior DBA, I get to review SQL Server database performance data with hundreds of customers a year. During the review process I provide performance improvement recommendations based on the response time data from SolarWinds Database Performance Analyzer (DPA). I also try to go above and beyond the raw data to provide valuable performance tuning tips for our customers. Over the years, I have developed a process that works time and time again. This process is the focus of this white paper and follows four fundamental steps:
1. Focus on the correct SQL statements
2. Utilize response time analysis
3. Gather accurate execution plans
4. Use SQL diagramming
Why focus on SQL statements?
When I think about performance tuning for a database environment, the following three types of tuning approaches come to mind:
• Application Tuning—tune the application code to process data more efficiently.
• Instance Tuning—tune the SQL Server instance via modification of parameters or altering the environment in which the database executes.
• SQL Statement Tuning—tune the SQL statements used to retrieve data.
The third approach, SQL tuning, seems to be a point of contention with many of our customers because it is often unclear which group (database administration or development) is responsible. This is also the area where I tend to focus my efforts for reasons discussed throughout this paper.
I am often asked why I focus on SQL statement tuning rather than instance or application tuning. Instance and application tuning are definitely beneficial in the right circumstances; however, I typically find that SQL tuning provides the most “bang for the buck” because it is often the underlying performance issue. My experience is that approximately 75-85% of the performance problems were solved using SQL tuning techniques.
Why does SQL tuning provide the most benefit? Most applications (there will always be exceptions) accessing databases on the backend require simple manipulation of data. There are typically no complex formulas or algorithms that require significant application time and thus tuning. These applications also deal with smaller amounts of data so even if the processing of that data is inefficient, it does not become a significant portion of the total waiting time for the end user. For example, a web application that displays the status of an order may only manipulate a few rows of data. Even if processing those rows is done inefficiently as possible, the total time will still be relatively small.
Introduction
As a Senior DBA, I get to review SQL Server database performance data with hundreds of customers a year. During the review process I provide performance improvement recommendations based on the response time data from SolarWinds Database Performance Analyzer (DPA). I also try to go above and beyond the raw data to provide valuable performance tuning tips for our customers. Over the years, I have developed a process that works time and time again. This process is the focus of this white paper and follows four fundamental steps:
1. Focus on the correct SQL statements
2. Utilize response time analysis
3. Gather accurate execution plans
4. Use SQL diagramming
Why focus on SQL statements?
When I think about performance tuning for a database environment, the following three types of tuning approaches come to mind:
• Application Tuning—tune the application code to process data more efficiently.
• Instance Tuning—tune the SQL Server instance via modification of parameters or altering the environment in which the database executes.
• SQL Statement Tuning—tune the SQL statements used to retrieve data.
The third approach, SQL tuning, seems to be a point of contention with many of our customers because it is often unclear which group (database administration or development) is responsible. This is also the area where I tend to focus my efforts for reasons discussed throughout this paper.
I am often asked why I focus on SQL statement tuning rather than instance or application tuning. Instance and application tuning are definitely beneficial in the right circumstances; however, I typically find that SQL tuning provides the most “bang for the buck” because it is often the underlying performance issue. My experience is that approximately 75-85% of the performance problems were solved using SQL tuning techniques.
Why does SQL tuning provide the most benefit? Most applications (there will always be exceptions) accessing databases on the backend require simple manipulation of data. There are typically no complex formulas or algorithms that require significant application time and thus tuning. These applications also deal with smaller amounts of data so even if the processing of that data is inefficient, it does not become a significant portion of the total waiting time for the end user. For example, a web application that displays the status of an order may only manipulate a few rows of data. Even if processing those rows is done inefficiently as possible, the total time will still be relatively small.
การแปล กรุณารอสักครู่..
