简介:TG@luotuoemo
本文由华为云代理商【聚搜云】撰写
1. SQL调优
-
资源利用最大化:SQL调优的核心目标是最大化利用CPU、内存、磁盘I/O和网络I/O等资源。通过优化SQL语句,使其尽量高效,减少资源开销,以最小的代价实现最大效益。
-
性能指标分析:通过分析SQL语句的执行次数、平均执行时间和总耗时等指标,定位性能瓶颈。例如:
sql
select unique_sql_id, substr(query,1,50) as query, n_calls, round(total_elapse_time/n_calls/1000,2) avg_time, round(total_elapse_time/1000,2) as total_time from dbe_perf.summary_statement t where n_calls > 10 and avg_time > 3 and user_name='root' order by total_time desc;针对执行性能不优的SQL语句,通过
unique_sql_id查看详细执行情况,分析性能瓶颈。
2. 智能基数估计
- 多列统计信息:GaussDB通过基于贝叶斯网络的轻量级算子模型,自动创建多列统计信息,提高基数估计的准确性。
- 优化器调用:优化器在多列基数估计时调用训练好的模型,给出准确率的数值,从而提高查询计划的稳定性。
3. 分布式查询执行
- 多节点并行处理:GaussDB采用分布式执行框架,实现多节点并行处理,提升集群整体性能。
- 数据本地性优化:在复杂查询中,将执行算子下推到数据节点(DN)执行,减少数据在网络中的传输开销。
4. AI调优参数
- AI Watchdog功能:通过设置
enable_ai_watchdog参数,开启AI Watchdog功能,实时监控数据库性能并进行自愈操作。 - 自适应基数估计策略:通过设置
adaptive_cardest_strategy参数,选择基数估计模型的偏好,提高优化器的计划生成能力。
5. AI调优工具
- AI调优分析:使用华为云的AI调优工具,设置任务参数,分析数据库性能瓶颈并生成优化建议。