云数据库 GAUSSDB-Query执行流程:调优手段之GUC参数
调优手段之GUC参数
查询优化的主要目的是为查询语句选择高效的执行方式。
如下SQL语句:
1 2 |
select count(1) from customer inner join store_sales on (ss_customer_sk = c_customer_sk); |
在执行customer inner join store_sales的时候, GaussDB 支持Nested Loop、Merge Join和Hash Join三种不同的Join方式。优化器会根据表customer和表store_sales的统计信息估算结果集的大小以及每种Join方式的执行代价,然后对比选出执行代价最小的执行计划。
正如前面所说,执行代价计算都是基于一定的模型和统计信息进行估算,当因为某些原因代价估算不能反映真实的cost的时候,我们就需要通过GUC参数设置的方式让执行计划倾向更优规划。例如:random_page_cost参数表示优化器计算一次非顺序抓取磁盘页面的开销,该参数默认值为4。当机器磁盘随机读取的速度较快时,比如SSD设备,可以将该参数的值适当调小,更改后,索引扫描的代价降低,生成计划时更倾向于选择索引扫描的方式。
- GaussDB数据库参数调优_GaussDB版本_高斯数据库参数调优
- GaussDB数据库设计_GaussDB教程_高斯数据库设计
- GaussDB华为部署_高斯数据库_高斯数据库华为部署_华为云
- GaussDB性能_性能统计_高斯数据库性能-华为云
- GaussDB内核_GaussDB数据库内核_高斯数据库内核_华为云
- GaussDB性能怎么调_华为gaussdb_gaussdb性能_gaussdb学习
- GaussDB性能_Gaussdb数据库性能_高斯数据库性能-华为云
- GaussDB案例指南_高斯数据库函数_高斯数据库案例指南_华为云
- GaussDB数据库用法_hcia-GaussDB_高斯数据库用法
- GaussDB