Databases are essential for most applications, serving as the foundation of these applications. Therefore, database performance significantly impacts application performance. High performance greatly enhances user experience, while poor performance becomes a bottleneck for the application.
Performance tuning can improve resource utilization of the database, reduce business costs, and lower the risk of application system failures, enhancing system stability and delivering greater value to customers.
This topic describes performance tuning tools, operating system parameters, database parameters, as well as performance tuning scenarios, SQL diagnostics, SQL performance tuning, and performance tuning cases. It provides comprehensive guidance for database performance tuning engineers. For more information, see Performance tuning.
Performance tuning directions
A database system consumes system resources, including CPU resources, memory resources, and network bandwidth, during its operation. The usage efficiency of system resources by the database system significantly affects the database performance. Therefore, the usage efficiency of system resources by the database system is an important factor in evaluating database performance.
Throughput and response time are two important concepts for evaluating database performance. Different application systems have different requirements for throughput and response time. Therefore, performance tuning should be adjusted based on the characteristics of the system to achieve the optimal performance.
Database engineers design and implement performance tuning solutions from multiple dimensions, including system architecture, server configuration, database configuration, business model, and SQL execution plans. To achieve high throughput and low latency with minimal resource usage, database engineers focus on system resource usage, throughput, and response time during performance tuning.
Performance tuning objectives
The ultimate objective of database system performance tuning is to fully utilize the software and hardware resources of the server to provide efficient data services through the database software.