云数据库 GAUSSDB-案例:设置cost_param对查询性能优化:优化分析2
优化分析2
在以上查询中,supplier、lineitem、partsupp三表做hashjoin的条件为(lineitem.l_suppkey = supplier.s_suppkey) AND (lineitem.l_partkey = partsupp.ps_partkey),此hashjoin条件中存在两个过滤条件,这前一个过滤条件中的lineitem.l_suppkey和后一个过滤条件中的lineitem.l_partkey同为lineitem表的两列,这两列存在强相关的关联关系。在这种情况,估算hashjoin条件的选择率时,如果使用cost_param的bit1为0时,实际是将AND的两个过滤条件分别计算的2个选择率的值相乘来得到hashjoin条件的选择率,导致行数估算不准确,查询性能较差。所以需要将cost_param的bit1为1时,选择最小的选择率作为总的选择率估算行数比较准确,查询性能较好,优化后的计划如下图所示:
- GaussDB性能_Gaussdb数据库性能_高斯数据库性能-华为云
- GaussDB性能怎么调_华为gaussdb_gaussdb性能_gaussdb学习
- GaussDB产品特性_gaussdb最大优势_高斯数据库产品特性_华为云
- GaussDB学习_gaussdb教程_高斯数据库学习_华为云
- GaussDB培训_GaussDB教程_高斯数据库培训-华为云
- GaussDB考试_GaussDB数据库考试_高斯数据库考试_华为云
- GaussDB数据库考试_GaussDB认证_高斯数据库考试_华为云
- GaussDB数据库概念_openGauss_华为高斯数据库概念
- GaussDB使用技巧_高斯数据库下载_高斯数据库使用技巧_华为云
- GaussDB学习_gaussdb数据库_高斯数据库学习_华为云