检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
算子级调优示例 示例1:基表扫描时,对于点查或者范围扫描等过滤大量数据的查询,如果使用SeqScan全表扫描会比较耗时,可以在条件列上建立索引选择IndexScan进行索引扫描提升扫描效率。
seq_scan bigint 顺序扫描的次数。只统计行存表。如果是分区表,显示各个分区扫描次数的和。 seq_tuple_read bigint 顺序扫描的行数。只统计行存表。 index_scan bigint 索引扫描的次数。只统计行存表。
seq_scan bigint 在此表上表启动的顺序扫描的次数。 seq_tup_read bigint 顺序扫描抓取的有live数据行的数目。 idx_scan bigint 索引扫描的次数。 idx_tup_fetch bigint 索引扫描抓取的有live数据行的数目。
seq_scan bigint 在此表上表启动的顺序扫描的次数。 seq_tup_read bigint 顺序扫描抓取的有live数据行的数目。 idx_scan bigint 索引扫描的次数。 idx_tup_fetch bigint 索引扫描抓取的有live数据行的数目。
idx_scan bigint 通过索引扫描的次数。 idx_tup_read bigint 通过索引上扫描返回的索引条目数量。 idx_tup_fetch bigint 索引扫描抓取的有live数据行的数目。 父主题: 系统视图
idx_scan bigint 通过索引扫描的次数。 idx_tup_read bigint 通过索引上扫描返回的索引条目数量。 idx_tup_fetch bigint 索引扫描抓取的有live数据行的数目。 父主题: 系统视图
partition_num int4 计划预估扫描节点扫描的最大分区数。 table_num int4 计划预估扫描的最大表数。 estimate_row int4 计划预估扫描节点扫描的最大行数。 query_band text 主动标识的作业类型。
seq_scan bigint 顺序扫描的次数。只统计行存表。如果是分区表,显示各个分区扫描次数的和。 seq_tuple_read bigint 顺序扫描的行数。只统计行存表。 index_scan bigint 索引扫描的次数。只统计行存表。
enable_indexscan=on 控制优化器对索引扫描规划类型的使用。 enable_indexonlyscan=on 控制优化器对仅索引扫描规划类型的使用。 enable_seqscan=on 控制优化器对顺序扫描规划类型的使用。
场景2:脏数据&数据清理 某业务SQL总执行时间2.519s,其中Scan占了2.516s,同时该表的扫描最终只扫描到0条符合条件数据,过滤了20480条数据,即总共扫描了20480+0条数据却消耗了2s+,扫描时间与扫描数据量严重不符,此现象可判断为由于脏数据多从而影响扫描和I/
seq_scan bigint 在此表上启动的顺序扫描数。 seq_tup_read bigint 顺序扫描抓取的有live数据行的数目。 idx_scan bigint 索引扫描的次数。 idx_tup_fetch bigint 索引扫描抓取的有live数据行的数目。
seq_scan bigint 在此表上表启动的顺序扫描的次数。 seq_tup_read bigint 顺序扫描抓取的有live数据行的数目。 idx_scan bigint 索引扫描的次数。 idx_tup_fetch bigint 索引扫描抓取的有live数据行的数目。
seq_scan bigint 在此表上表启动的顺序扫描的次数。 seq_tup_read bigint 顺序扫描抓取的有live数据行的数目。 idx_scan bigint 索引扫描的次数。 idx_tup_fetch bigint 索引扫描抓取的有live数据行的数目。
seq_scan bigint 在此表上启动的顺序扫描数。 seq_tup_read bigint 顺序扫描抓取的有live数据行的数目。 idx_scan bigint 索引扫描的次数。 idx_tup_fetch bigint 索引扫描抓取的有live数据行的数目。
enable_indexscan=on 控制优化器对索引扫描规划类型的使用。 enable_indexonlyscan=on 控制优化器对仅索引扫描规划类型的使用。 enable_seqscan=on 控制优化器对顺序扫描规划类型的使用。
比默认值高的数值可能会导致使用索引扫描,更低的数值可能会导致选择顺序扫描。 默认值:128MB allocate_mem_cost 参数说明:设置优化器计算Hash Join创建Hash表开辟内存空间所需的开销,供Hash join估算不准时调优使用。
比默认值高的数值可能会导致使用索引扫描,更低的数值可能会导致选择顺序扫描。 默认值:128MB allocate_mem_cost 参数说明:设置优化器计算Hash Join创建Hash表开辟内存空间所需的开销,供Hash join估算不准时调优使用。
使用顺序扫描,输出行数/扫描行数<1/1000且输出行数<=1万行、扫描行数>1万行。 对于列存表: 使用索引扫描,输出行数/扫描行数>1/10000且输出行数>100。 使用顺序扫描,输出行数/扫描行数<1/10000且输出行数<=100、扫描行数>1万行。
使用顺序扫描,输出行数/扫描行数<1/1000且输出行数<=1万行、扫描行数>1万行。 对于列存表: 使用索引扫描,输出行数/扫描行数>1/10000且输出行数>100。 使用顺序扫描,输出行数/扫描行数<1/10000且输出行数<=100、扫描行数>1万行。
需要注意,对于分区表来说,每一个分区表的扫描就是一次完整的扫描操作,当切换到下一个分区的时候,又是一次新的扫描操作。