用户指南—诊断与优化—SQL审计与分析—简介

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: PolarDB-X联合日志服务推出SQL审计与分析功能,将SQL审计日志投递到日志服务中,实现了日志的实时查询、可视化分析、告警、投递、加工等操作。本文介绍SQL审计日志相关的信息。

功能优势

  • 操作简单:仅需在控制台上打开功能开关,即可实时进行SQL日志的审计与分析。
  • 性能无损:日志服务能够实时拉取PolarDB-X实例下各数据库的SQL审计日志文件,对实例本身性能无影响。
  • 实时分析:依托日志服务,提供实时日志分析、开箱即用的报表中心和下钻分析的功能,帮助您准确地了解数据库执行状况、性能和安全问题。
  • 实时告警:支持基于特定指标定制实时的监测与告警,当关键业务出现异常时可通过多种途径通知告警。

注意事项

  • SQL审计日志默认保存45天。
  • 日志服务会不定期更新SQL日志审计功能,专属日志库的索引与默认报表也会自动更新,请勿在日志服务控制台上随意删除或修改PolarDB-X的Project、Logstore、索引和仪表盘等配置。
  • PolarDB-XSQL审计与分析功能本身免费使用,但日志服务会对存储空间、读取流量、请求数量、数据加工、数据投递等进行收费,详情请参见日志服务产品定价
  • SQL审计与分析功能默认关闭,您可以在PolarDB-X控制台上随时开启SQL审计与分析
  • 功能关闭后将不再向日志服务写入数据,但您仍可以查看历史数据,这部分历史数据会产生存储和索引费用。您可以删除所有数据来停用日志服务,日志停止服务后将不再计费。

应用场景

  • 问题SQL排查开启SQL审计与分析功能后,您可以通过快速检索SQL日志排查定位问题。例如您可以使用如下命令查询响应时间超过1s的所有SQL:
__topic__:polardbx_sqlaudit and instance_id:pxc-*************** and response_time >= 1000 | select sql, response_time

2..png

  • 如上图所示,您可以在查询结果查看目标SQL的执行时间、执行该SQL的客户端IP地址等信息。
  • 高代价SQL模板分析大多数应用中,SQL通常是基于若干模板动态生成的,只是参数不同。例如,您可以使用如下命令获取目标数据库中的高代价SQL模板信息。
__topic__:polardbx_sqlaudit and instance_id:pxc-**************** | SELECT sql_code as "SQL模板ID", round(total_time * 1.0 /sum(total_time) over() * 100, 2) as "总体耗时比例(%)" ,execute_times as "执行次数", round(avg_time) as "平均执行时间",round(avg_rows) as "平均影响行数", CASE WHEN length(sql) > 200 THEN  concat(substr(sql, 1, 200), '......') ELSE trim(lpad(sql, 200, ' ')) end as "样例SQL" FROM  (SELECT sql_code, count(1) as execute_times, sum(response_time) as total_time, avg(response_time) as avg_time, avg(affect_rows) as avg_rows, arbitrary(sql) as sql FROM log GROUP BY sql_code) ORDER BY "总体耗时比例(%)" desc limit 10

3..png

  • 如上图所示,查询结果钟包括SQL模板的ID、该模板SQL占总体SQL的耗时比例、执行次数、平均执行时间、平均影响行数以及样例 SQL等信息。您可以基于该分析结果,找到应用中代价最高的SQL模板,并对其进行优化。
  • 日志报表统计为了便于分析问题,PolarDB-X SQL审计与分析功能结合日志服务,提供了开箱即用的日志报表功能,帮助您实时诊断分析数据库的执行状况、性能和潜在安全问题等,详情请参见日志报表
相关实践学习
Polardb-x 弹性伸缩实验
本实验主要介绍如何对PolarDB-X进行手动收缩扩容,了解PolarDB-X 中各个节点的含义,以及如何对不同配置的PolarDB-x 进行压测。
相关文章
|
20天前
|
SQL 存储 关系型数据库
一文搞懂SQL优化——如何高效添加数据
**SQL优化关键点:** 1. **批量插入**提高效率,一次性建议不超过500条。 2. **手动事务**减少开销,多条插入语句用一个事务。 3. **主键顺序插入**避免页分裂,提升性能。 4. **使用`LOAD DATA INFILE`**大批量导入快速。 5. **避免主键乱序**,减少不必要的磁盘操作。 6. **选择合适主键类型**,避免UUID或长主键导致的性能问题。 7. **避免主键修改**,保持索引稳定。 这些技巧能优化数据库操作,提升系统性能。
215 4
一文搞懂SQL优化——如何高效添加数据
|
10天前
|
SQL 数据库 索引
SQL索引失效原因分析与解决方案
SQL索引失效原因分析与解决方案
19 0
|
14天前
|
SQL 运维 数据管理
sql管理工具archery简介
Archery是一个多公司采用的SQL管理工具,提供权限管理、工作流配置、实例管理、SQL审核、查询、优化及通知功能。它支持多级审批和不同云环境的数据管理。尝试Archery的SaaS版本可访问[ArcheryDMS.com](https://archerydms.com/home/)。此外,NineData是一个综合平台,包含SQL开发、数据复制等功能,适应混合云和多云环境,由叶正盛创建,详情见[Ninedata.cloud](https://www.ninedata.cloud/aboutus)。
24 0
|
18天前
|
SQL 关系型数据库 MySQL
【MySQL】慢SQL分析流程
【4月更文挑战第1天】【MySQL】慢SQL分析流程
|
21天前
|
SQL 关系型数据库 MySQL
【MySQL技术之旅】(7)总结和盘点优化方案系列之常用SQL的优化
【MySQL技术之旅】(7)总结和盘点优化方案系列之常用SQL的优化
36 1
|
22天前
|
SQL 索引
SQL怎么优化
SQL怎么优化
30 2
|
1月前
|
SQL 监控 测试技术
SQL语法优化与最佳实践
【2月更文挑战第28天】本章将深入探讨SQL语法优化的重要性以及具体的优化策略和最佳实践。通过掌握和理解这些优化技巧,读者将能够编写出更高效、更稳定的SQL查询,提升数据库性能,降低系统资源消耗。
|
1月前
|
SQL 关系型数据库 MySQL
[MySQL]SQL优化之sql语句优化
[MySQL]SQL优化之sql语句优化
|
8天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
51 10
|
1月前
|
SQL 数据库 数据安全/隐私保护
Sql Server数据库Sa密码如何修改
Sql Server数据库Sa密码如何修改