云数据库 GAUSSDB-优化器方法配置:gsi_fastpath_level
gsi_fastpath_level
- 单个表、没有子查询、没有子链接、目标表不是视图。
- 查询语句无法生成普通索引的执行计划。
- 查询语句无法生成GSI的IndexOnlyScan执行计划。
- 查询语句不包含Scan类的Hint,如TableScan、IndexScan等。
- WHERE条件中包含等值条件且等值条件包含候选GSI(唯一且不是部分GSI索引)的索引键。
参数类型:枚举类型
参数单位:无
取值范围:
- strict:等值条件包含GSI所有索引键。
- partial:等值条件包含GSI的部分索引键(最左匹配),性能不一定最优。
- none:关闭。
默认值:strict
设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
设置建议:推荐使用默认值。
设置不当的风险与影响:设置不当可能影响部分GSI场景下的计划生成,影响查询性能。
- partial的使用参考如下场景:
gaussdb=# CREATE TABLE t1(a INT, b INT, c INT); gaussdb=# CREATE GLOBAL UNIQUE INDEX t1_gsi ON t1(b,c); -- Q1 gaussdb=# SELECT * FROM t1 WHERE b=1; -- Q2 gaussdb=# SELECT * FROM t1 WHERE b=1 LIMIT 1;
上述场景中,GSI索引建在(b,c)两列上,gsi_fastpath_level参数设置为partial时,查询语句Q1和Q2才可以生成GSI非Stream回表计划。索引唯一性由(b,c)两列保证,对于查询语句Q1,返回结果可能有多条,GSI非Stream回表计划的性能不一定是最优的,对于查询语句Q2,由于包含limit 1的条件,GSI非Stream回表计划的性能依然是最优的。
- 免费建站系统哪个好_免费建站优化的方法是什么
- 云数据库 RDS for MySQL磁盘扩容方法_华为云
- GaussDB学习_gaussdb教程_高斯数据库学习_华为云
- GaussDB考试_GaussDB数据库考试_高斯数据库考试_华为云
- GaussDB数据库考试_GaussDB认证_高斯数据库考试_华为云
- GaussDB用法_GaussDB数据库使用方法_高斯数据库如何使用_华为云
- GaussDB数据库云备份_华为GaussDB_高斯数据库云备份
- GaussDB视频教程_gaussdb查看表结构语句_高斯数据库视频教程_华为云
- GaussDB使用技巧_高斯数据库下载_高斯数据库使用技巧_华为云
- GaussDB数据库概念_openGauss_华为高斯数据库概念