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

简介: 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审计与分析功能结合日志服务,提供了开箱即用的日志报表功能,帮助您实时诊断分析数据库的执行状况、性能和潜在安全问题等,详情请参见日志报表

相关文章
|
2月前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
215 6
|
10月前
|
SQL 关系型数据库 MySQL
MySQL进阶突击系列(07) 她气鼓鼓递来一条SQL | 怎么看执行计划、SQL怎么优化?
在日常研发工作当中,系统性能优化,从大的方面来看主要涉及基础平台优化、业务系统性能优化、数据库优化。面对数据库优化,除了DBA在集群性能、服务器调优需要投入精力,我们研发需要负责业务SQL执行优化。当业务数据量达到一定规模后,SQL执行效率可能就会出现瓶颈,影响系统业务响应。掌握如何判断SQL执行慢、以及如何分析SQL执行计划、优化SQL的技能,在工作中解决SQL性能问题显得非常关键。
|
7月前
|
SQL 存储 自然语言处理
SQL的解析和优化的原理:一条sql 执行过程是什么?
SQL的解析和优化的原理:一条sql 执行过程是什么?
SQL的解析和优化的原理:一条sql 执行过程是什么?
|
9月前
|
SQL 关系型数据库 MySQL
如何优化SQL查询以提高数据库性能?
这篇文章以生动的比喻介绍了优化SQL查询的重要性及方法。它首先将未优化的SQL查询比作在自助餐厅贪多嚼不烂的行为,强调了只获取必要数据的必要性。接着,文章详细讲解了四种优化策略:**精简选择**(避免使用`SELECT *`)、**专业筛选**(利用`WHERE`缩小范围)、**高效联接**(索引和限制数据量)以及**使用索引**(加速搜索)。此外,还探讨了如何避免N+1查询问题、使用分页限制结果、理解执行计划以及定期维护数据库健康。通过这些技巧,可以显著提升数据库性能,让查询更高效流畅。
|
10月前
|
SQL 关系型数据库 MySQL
基于SQL Server / MySQL进行百万条数据过滤优化方案
对百万级别数据进行高效过滤查询,需要综合使用索引、查询优化、表分区、统计信息和视图等技术手段。通过合理的数据库设计和查询优化,可以显著提升查询性能,确保系统的高效稳定运行。
490 9
|
SQL 关系型数据库 索引
SQL优化常用方法53
分离表和索引
1418 0
|
SQL
SQL优化常用方法51
使用显式的游标(CURSORs)
1206 0
|
SQL
SQL优化常用方法49
优化GROUP BY
1187 0
|
SQL 索引
SQL优化常用方法47
CBO下使用更具选择性的索引
1135 0