Updated on 2022-06-11 GMT+08:00

Optimization Overview

Various factors must be considered during GaussDB(DWS) performance optimization. Therefore, optimization personnel must know well about knowledge, such as system software architecture, hardware and software configuration, database parameter configuration, concurrency control, query processing, and database applications.

Performance tuning sometimes require cluster restart, which may interrupt current services. Therefore, if the cluster needs to be restarted after service rollout, you must send a request to related management department about the operation window time for approval.

Tuning Process

Figure 1 shows the optimization process.

Figure 1 GaussDB(DWS) performance optimization

Table 1 lists the optimization description of each phase.

Table 1 GaussDB(DWS) performance optimization description

Phase

Description

Determine the performance optimization scope

Specifies the phase where the CPU, memory, I/O, and network resource usage of each node are obtained to check whether these resources are fully used and whether any bottlenecks exist.

System Optimization Guide

Specifies the phase where OS and database system level optimization are performed to fully use the CPU, memory, I/O, and network resources, prevent resource conflicts, and improve the query throughput in the system.

SQL Optimization Guide

Analyzes the SQL statements used and determines whether any optimization can be performed. Analysis of SQL statements comprises:

  • Generating table statistics using ANALYZE: The ANALYZE statement collects statistics about the database table content. Statistical results are stored in the system catalog PG_STATISTIC. The execution plan generator uses these statistics to determine which one is the most effective execution plan.
  • Analyzing the execution plan: The EXPLAIN statement displays the execution plan of SQL statements, and the EXPLAIN PERFORMANCE statement displays the execution time of each operator in SQL statements.
  • Identifying the root causes of issues: Identify possible causes by analyzing the execution plan and perform specific optimization by modifying database-level SQL optimization parameters.
  • Compiling better SQL statements: Compile better SQL statements in the scenarios, such as cache of intermediate and temporary data for complex queries, result set cache, and result set combination.