检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
VACUUM”章节)结合使用,控制是否开启在线DDL或在线VACUUM。 参数类型:布尔型 参数单位:无 取值范围: on:当开启该参数时,结合ONLINE/OFFLINE关键字,有以下三种情况: ALTER TABLE或VACUUM语句不使用ONLINE或OFFLINE关键字时,DDL或VACUUM以在线方式执行;此时,若ALTER
指定扫描并行度的Hint 功能描述 在并行的执行计划中,指定表扫描的并行度。 语法格式 scandop([@queryblock] table dop_num) 参数说明 @queryblock请参见指定Hint所处的查询块Queryblock,可省略,表示在当前查询块生效。 t
指定扫描并行度的Hint 功能描述 在并行的执行计划中,指定表扫描的并行度。 语法格式 scandop([@queryblock] table dop_num) 参数说明 @queryblock请参见指定Hint所处于的查询块Queryblock,可省略,表示在当前查询块生效。
scan_classifier text) 描述:扫描目标数据,返回统计的扫描结果。 参数: scan_target:指定扫描对象,取值必须是schema、table或column的名称,但必须指定扫描对象的上级名称,比如扫描某列传入扫描对象为scheme_name.table_name
scan_classifier text) 描述:扫描目标数据,返回统计的扫描结果。 参数: scan_target:指定扫描对象,取值必须是schema、table或column的名称,但必须指定扫描对象的上级名称,比如扫描某列传入扫描对象为scheme_name.table_name
引行,显示访问特定索引的统计。 索引可以通过简单的索引扫描或位图索引扫描进行使用。位图扫描中几个索引的输出可以通过AND或者OR规则进行组合,因此当使用位图扫描的时候,很难将独立堆行抓取与特定索引进行组合,因此,每一次位图扫描都会增加pg_stat_all_indexes.idx
长查询执行期间大量并发更新偶现写入性能下降 问题现象 执行全表扫描类型的长查询,扫描期间页面发生大量并发更新,部分DML写入性能较没有长查询时出现性能下降。 问题分析 对于全表扫描场景下的长查询(例如持续两小时以上),在扫描到某个页面前,该页面发生大量集中并发更新(例如十万次以上更新),后续扫描到该页面时,需要访问大量
Sample Scan 算子说明 Sample Scan是一种扫描表的方式,它可以在查询过程中随机地从表中抽取一部分数据进行查询,而不是扫描整个表。Sample Scan配合TABLESAMPLE关键字使用,使用方式为[ TABLESAMPLE sampling_method (
长查询执行期间大量并发更新偶现写入性能下降 问题现象 执行全表扫描类型的长查询,扫描期间页面发生大量并发更新,部分DML写入性能较没有长查询时出现性能下降。 问题分析 对于全表扫描场景下的长查询(例如持续两小时以上),在扫描到某个页面前,该页面发生大量集中并发更新(例如十万次以上更新),后续扫描到该页面时,需要访问大量
表设计 总体上讲,良好的表设计需要遵循以下原则: 减少需要扫描的数据量。通过分区表的剪枝机制可以大幅减少数据的扫描量。 尽量减少随机I/O。通过聚簇可以实现热数据的连续存储,将随机I/O转换为连续I/O,从而减少扫描的I/O代价。 选择分区方案 当表中的数据量很大时,应当对表进行分区,一般需要遵循以下原则:
引行,显示访问特定索引的统计。 索引可以通过简单的索引扫描或位图索引扫描进行使用。位图扫描中几个索引的输出可以通过AND或者OR规则进行组合,因此当使用位图扫描的时候,很难将独立堆行抓取与特定索引进行组合,因此,每一次位图扫描都会增加pg_stat_all_indexes.idx
行,显示访问特定索引的统计。 索引可以通过简单的索引扫描或位图索引扫描进行使用。位图扫描中几个索引的输出可以通过AND或者OR规则进行组合, 因此当使用位图扫描的时候,很难将独立堆行抓取与特定索引进行组合, 因此,每一次位图扫描都会增加pg_stat_all_indexes.id
行,显示访问特定索引的统计。 索引可以通过简单的索引扫描或位图索引扫描进行使用。位图扫描中几个索引的输出可以通过AND或者OR规则进行组合, 因此当使用位图扫描的时候,很难将独立堆行抓取与特定索引进行组合, 因此,每一次位图扫描都会增加pg_stat_all_indexes.id
引行,显示访问特定索引的统计。 索引可以通过简单的索引扫描或位图索引扫描进行使用。位图扫描中几个索引的输出可以通过AND或者OR规则进行组合,因此当使用位图扫描的时候,很难将独立堆行抓取与特定索引进行组合,因此,每一次位图扫描都会增加pg_stat_all_indexes.idx
引的统计。具体字段信息如表1所示。 索引可以通过简单的索引扫描或位图索引扫描进行使用。位图扫描中索引的输出可通过AND或OR规则进行组合,因此当使用位图扫描的时候,很难将独立堆行抓取与特定索引进行组合,因此,每一次位图扫描都会增加pg_stat_all_indexes.idx_t
Bitmap 算子说明 Bitmap Index Scan,位图索引扫描,该算子的作用为用索引扫描的方式,将过滤出的符合条件的元组的tid形成一张位图并向上返回。多个表扫描出的多个结果位图之间可再做 BITMAPAND或者BITMAPOR操作,相比于Index Scan还需要对表
Scan算子是所有扫描算子中具有普适性的一种,这个算子本质上的原理为对表按某个方向(前向/后向)进行顺序扫描,然后返回符合筛选条件的所有行。 典型场景 表无索引,需要对表进行扫描操作。 表有索引,但需要对表大部分数据进行扫描操作。 示例 示例1:表无索引,需要对表进行扫描操作。 -- 数据准备。
EXPLAIN 功能描述 显示SQL语句的执行计划。 执行计划将显示SQL语句所引用的表会采用什么样的扫描方式,如:简单的顺序扫描、索引扫描等。如果引用了多个表,执行计划还会显示用到的JOIN算法。 执行计划的最关键的部分是语句的预计执行开销,影响计划生成器估算执行该语句将花费多长的时间。
EXPLAIN 功能描述 显示SQL语句的执行计划。 执行计划将显示SQL语句所引用的表会采用什么样的扫描方式,如:简单的顺序扫描、索引扫描等。如果引用了多个表,执行计划还会显示用到的JOIN算法。 执行计划的最关键的部分是语句的预计执行开销,是指计划生成器估算执行该语句将花费多长的时间。
果,对子查询结果进行保存。对于需要重复多次扫描的子节点(特别是扫描结果每次都相同时)可以减少执行代价。 典型场景 当查询语句涉及子查询,需要多次查询同一批数据时,优化器会选择Materialize算子来缓存子查询的结果,从而大大减少扫描的执行时间。子查询常存在于关键字包括IN、ANY、ALL、EXISTS等子句中。