文章目录
- openGauss学习笔记-304 openGauss AI特性-AI4DB数据库自治运维-ABO优化器-智能基数估计
- 304.1 概述
- 304.2 前置条件
- 304.3 使用指导
- 304.4 最佳实践
- 304.5 常见问题处理
openGauss学习笔记-304 openGauss AI特性-AI4DB数据库自治运维-ABO优化器-智能基数估计
304.1 概述
智能基数估计使用库内贝叶斯网络模型对多列数据样本联和分布进行建模,从而能够对多列等值查询提供更加准确的基数估计。更加准确的基数估计能够显著提高优化器对于计划和算子的选择的准确性,从而提高数据库整体吞吐量。
304.2 前置条件
数据库运行正常,GUC参数enable_ai_stats设置为on,multi_stats_type设置为’BAYESNET’或者’ALL’。
304.3 使用指导
- 设置采样方式为按照采样率采样,即设置GUC参数default_statistics_target为[-100, -1]之间的整数,表示采样百分比。
- 使用ANALYZE(([column_name,])) 进行数据统计和模型创建。
- 输入查询,如果查询涉及到的等值查询列上有统计模型创建,那么会自动使用统计模型进行选择率估计。
- 不再需要智能统计模型的时候,使用ALTER TABLE [table_name] DELETE STATISTICS (([column_name,]))进行统计信息以及模型删除。
其他使用的方法详见SQL接口章节ALTER TABLE和ANALYZE | ANALYSE。
304.4 最佳实践
生成如下数据表: