检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
可以根据情况把可下推函数的函数改成CASE表达式。 避免对索引使用函数或表达式运算。 对索引使用函数或表达式运算会停止使用索引转而执行全表扫描。 尽量避免在where子句中使用!=或<>操作符、null值判断、or连接、参数隐式转换。 如果where条件中出现了 >= 和 <=
表示该函数在给出同样的参数值时总是返回同样的结果。 STABLE 表示该函数不能修改数据库,对相同参数值,在同一次表扫描里,该函数的返回值不变,但是返回值可能在不同SQL语句之间变化。 VOLATILE 表示该函数值可以在一次表扫描内改变,因此不会做任何优化。 函数易变性可以查询pg_proc的provolati
correlation real - 字段值的物理行序和逻辑行序的相关性。取值范围从-1到+1。该值接近-1或者+1的时候,因为减少了对磁盘的随机访问,索引扫描的开销比接近零的时候更少。如果字段数据类型没有<操作符,则这个字段的相关性为NULL。 most_common_elems anyarray
vacuum_freeze_table_age 参数说明:指定VACUUM对全表的扫描冻结元组的时间。如果当前事务号与表pg_class.relfrozenxid64字段的差值已经大于参数指定的时间时,VACUUM对全表进行扫描。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
on表示备机catchup时用增量catchup方式,即从备本地数据文件扫描获得主备差异数据文件列表,进行主备之间的catchup。 off表示备机catchup时用全量catchup方式,即从主机本地所有数据文件扫描获得主备差异数据文件列表,进行主备之间的catchup。 默认值:on
vacuum_freeze_table_age 参数说明:指定VACUUM对全表的扫描冻结元组的时间。如果当前事务号与表pg_class.relfrozenxid64字段的差值已经大于参数指定的时间时,VACUUM对全表进行扫描。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
表示该函数在给出同样的参数值时总是返回同样的结果。 STABLE 表示该函数不能修改数据库,对相同参数值,在同一次表扫描里,该函数的返回值不变,但是返回值可能在不同SQL语句之间变化。 VOLATILE 表示该函数值可以在一次表扫描内改变,因此不会做任何优化。 函数易变性可以查询pg_proc的provolati
correlation real - 字段值的物理行序和逻辑行序的相关性。取值范围从-1到+1。该值接近-1或者+1的时候,因为减少了对磁盘的随机访问,索引扫描的开销比接近零的时候更少。如果字段数据类型没有<操作符,则这个字段的相关性为NULL。 most_common_elems anyarray
vacuum_freeze_table_age 参数说明:指定VACUUM对全表的扫描冻结元组的时间。如果当前事务号与表pg_class.relfrozenxid64字段的差值已经大于参数指定的时间时,VACUUM对全表进行扫描。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
调整的推荐值为900s,需要注意的是,undo_retention_time的取值越大,对业务的影响除了Undo空间占用增多,也会造成数据空间膨胀,进一步影响数据扫描更新性能。当不使用闪回或者希望减少历史旧版本的磁盘空间占用时,需要将undo_retention_time调小来达到最佳性能。可以通过如下方法选择更适合自己业务模型的取值。
rows) 可以看到stream_t2表使用了local_roundrobin的数据分布方式。 local_roundrobin hint只有在表扫描并行度为1的时候才会生效,建议和scandop hint一起使用。 只有在生成并行执行计划的时候,stream hint才会生效。 父主题:
correlation real - 字段值的物理行序和逻辑行序的相关性。取值范围从-1到+1。该值接近-1或者+1的时候,因为减少了对磁盘的随机访问,索引扫描的开销比接近零的时候更少。如果字段数据类型没有<操作符,则这个字段的相关性为NULL。 most_common_elems anyarray
bigint SELECT返回的结果集行数。 L0 n_tuples_fetched bigint 随机扫描行。 L0 n_tuples_returned bigint 顺序扫描行。 L0 n_tuples_inserted bigint 插入行。 L0 n_tuples_updated
调整的推荐值为900s,需要注意的是,undo_retention_time的取值越大,对业务的影响除了Undo空间占用增多,也会造成数据空间膨胀,进一步影响数据扫描更新性能。当不使用闪回或者希望减少历史旧版本的磁盘空间占用时,需要将undo_retention_time调小来达到最佳性能。可以通过如下方法选择更适合自己业务模型的取值。
bigint SELECT返回的结果集行数。 L0 n_tuples_fetched bigint 随机扫描行。 L0 n_tuples_returned bigint 顺序扫描行。 L0 n_tuples_inserted bigint 插入行。 L0 n_tuples_updated
vacuum_freeze_table_age 参数说明:指定VACUUM扫描全表以冻结元组的时间。如果当前事务号与表pg_class.relfrozenxid64字段的差值已经大于参数指定的时间,则VACUUM会对全表进行扫描。该参数可在PDB级别设置。 参数类型:整型 参数单位:无 取值
不包含索引的表使用indexscan hint或indexonlyscan hint。 通常只有在索引列上使用过滤条件才会生成相应的索引路径,全表扫描将不会使用索引,因此使用indexscan hint或indexonlyscan hint将不会使用。 indexonlyscan只有输出
--查看非Partition-wise Join的计划。从计划中可以看出来,在通过Partition Iterator+Partitioned Seq Scan两层算子完成数据扫描之后,通过Streaming(type: LOCAL REDISTRIBUTE)算子对数据进行了一次重分布,用于保证Join算子中数据能够相互匹配。
不包含索引的表使用indexscan hint或indexonlyscan hint。 通常只有在索引列上使用过滤条件才会生成相应的索引路径,全表扫描将不会使用索引,因此使用indexscan hint或indexonlyscan hint将不会使用。 indexonlyscan只有输出
n_returned_rows bigint SELECT返回的结果集行数。 n_tuples_fetched bigint 随机扫描行。 n_tuples_returned bigint 顺序扫描行。 n_tuples_inserted bigint 插入行。 n_tuples_updated bigint