

# 使用适用于 Amazon RDS 的数据库洞察配置您的数据库以监控慢速 SQL 查询
<a name="USER_DatabaseInsights.SlowSQL"></a>

要监控数据库的慢速 SQL 查询，可以使用“数据库洞察”控制面板中的**慢速 SQL 查询**部分。在配置数据库以监控慢速 SQL 查询之前，**慢速 SQL 查询**部分为空。

有关在“数据库洞察”控制面板中监控慢速 SQL 查询的更多信息，请参阅《Amazon CloudWatch 用户指南》**中的[查看数据库实例控制面板以获取 CloudWatch 数据库洞察](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Database-Insights-Database-Instance-Dashboard.html)。

要使用数据库洞察配置您的数据库以监控慢速 SQL 查询，请完成以下步骤：

1. 启用到 CloudWatch Logs 的日志导出。

1. 创建或修改数据库实例的数据库参数组。

有关配置日志导出的信息，请参阅《Amazon RDS 用户指南》**中的[将数据库日志发布到 Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)。

要创建或修改数据库参数组，请参阅以下主题。
+ [在 Amazon RDS 中创建数据库参数组](USER_WorkingWithParamGroups.Creating.md)
+ [在 Amazon RDS 中修改数据库参数组中的参数](USER_WorkingWithParamGroups.Modifying.md)

------
#### [ RDS for MariaDB ]

要将 RDS for MariaDB 数据库实例配置为监控慢速 SQL 查询，请设置以下参数。
+ `log_slow_query` – 设置为 `1`
+ `log_slow_query_time` – 设置为 `1.0`
+ `log_output` – 设置为 `FILE`

------
#### [ RDS for MySQL ]

要将 RDS for MySQL 数据库实例配置为监控慢速 SQL 查询，请设置以下参数。
+ `slow_query_log` – 设置为 `1`
+ `long_query_time` – 设置为 `1.0`
+ `log_output` – 设置为 `FILE`

------
#### [ RDS for PostgreSQL ]

要将 RDS for PostgreSQL 数据库实例配置为监控慢速 SQL 查询，请设置以下参数。请注意，设置这些参数可能会降低数据库实例的性能。
+ `log_min_duration_statement` – 设置为 `1000`
+ `log_statement` – 设置为 `none`
+ `log_destination` – 设置为 `stderr`

------

**注意**  
对于 RDS for MySQL，可以将参数 `long_query_time` 配置为 1 微秒的粒度。例如，您可以将此参数设置为 `0.000001`。根据数据库实例上的查询量，参数 `long_query_time` 的值可能会降低性能。从值 `1.0` 开始，然后根据工作负载进行调整。当您将此参数设置为 `0` 时，数据库洞察会记录所有查询。

有关 RDS for MariaDB、RDS for MySQL 和 RDS for PostgreSQL 日志的信息，请参阅以下内容。
+ [MariaDB 数据库日志文件](USER_LogAccess.Concepts.MariaDB.md)
+ [MySQL 数据库日志文件](USER_LogAccess.Concepts.MySQL.md)
+ [RDS for PostgreSQL 数据库日志文件](USER_LogAccess.Concepts.PostgreSQL.md)