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

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
日志服务 SLS,月写入数据量 50GB 1个月
简介: 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开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
相关文章
|
2天前
|
SQL 存储 缓存
如何优化SQL查询性能?
【10月更文挑战第28天】如何优化SQL查询性能?
21 10
|
1天前
|
SQL 存储 缓存
SQL Server 数据太多如何优化
11种优化方案供你参考,优化 SQL Server 数据库性能得从多个方面着手,包括硬件配置、数据库结构、查询优化、索引管理、分区分表、并行处理等。通过合理的索引、查询优化、数据分区等技术,可以在数据量增大时保持较好的性能。同时,定期进行数据库维护和清理,保证数据库高效运行。
|
15天前
|
SQL 资源调度 分布式计算
如何让SQL跑快一点?(优化指南)
这篇文章主要探讨了如何在阿里云MaxCompute(原ODPS)平台上对SQL任务进行优化,特别是针对大数据处理和分析场景下的性能优化。
|
24天前
|
SQL 监控 数据库
慢SQL对数据库写入性能的影响及优化技巧
在数据库管理系统中,慢SQL(即执行缓慢的SQL语句)不仅会影响查询性能,还可能对数据库的写入性能产生显著的不利影响
|
24天前
|
SQL 存储 数据可视化
手机短信SQL分析技巧与方法
在手机短信应用中,SQL分析扮演着至关重要的角色
|
2月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
4月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
98 13
|
4月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
|
4月前
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
58 6
|
4月前
|
存储 SQL C++
对比 SQL Server中的VARCHAR(max) 与VARCHAR(n) 数据类型
【7月更文挑战7天】SQL Server 中的 VARCHAR(max) vs VARCHAR(n): - VARCHAR(n) 存储最多 n 个字符(1-8000),适合短文本。 - VARCHAR(max) 可存储约 21 亿个字符,适合大量文本。 - VARCHAR(n) 在处理小数据时性能更好,空间固定。 - VARCHAR(max) 对于大文本更合适,但可能影响性能。 - 选择取决于数据长度预期和业务需求。
306 1