检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
当对分区表进行全局排序时,通常SQL引擎的实现方式是先通过Partition Iterator + PartitionScan对分区表做全量扫描然后进行Sort排序操作,这样难以利用数据分区分治的算法思想进行全局排序,假如ORDER BY排序列包含索引,本身局部有序的前提条件则无法
更等语句操作具备更小的影响范围,能够让用户通过分区键(Partition Key)快速定位到数据所在的分区,从而避免在数据库中对大表的全量扫描,能够在不同的分区上并发进行DDL、DML操作。从用户使用的角度来看,表分区技术主要有以下三个方面能力: 提升大容量数据场景查询效率:由于
当对分区表进行全局排序时,通常SQL引擎的实现方式是先通过Partition Iterator + PartitionScan对分区表做全量扫描,然后进行Sort排序操作,这样难以利用数据分区分治的算法思想进行全局排序,假如ORDER BY排序列包含索引,本身局部有序的前提条件则无
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对全表进行扫描。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
只有hint的索引属于hint的表时,才能使用该hint。 scan hint支持在行存表、子查询表上指定。 示例 为了hint使用索引扫描,需要首先在表item的i_item_sk列上创建索引,名称为i。 1 create index i on item(i_item_sk);
vacuum_freeze_table_age 参数说明:指定VACUUM对全表的扫描冻结元组的时间。如果当前事务号与表pg_class.relfrozenxid64字段的差值已经大于参数指定的时间时,VACUUM对全表进行扫描。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
bigint SELECT返回的结果集行数。 L0 n_tuples_fetched bigint 随机扫描行。 L0 n_tuples_returned bigint 顺序扫描行。 L0 n_tuples_inserted bigint 插入行。 L0 n_tuples_updated
index_list为参数化路径使用的索引序列,为空格隔开的字符串。 示例 nestloop_index示例: 在t1表上传入t2,t3表的t2.c1和t3.c2进行索引扫描(参数化路径): gaussdb=# explain (costs off) select /*+nestloop_index(t1,(t2
6} intF2 := []string{"hello world", "华为", "北京2022冬奥会", "nanjing", "研究所"} intF3 := []float64{641.43, 431.54, 5423.52, 665537.63, 6503.1} intF4
6} intF2 := []string{"hello world", "华为", "北京2022冬奥会", "nanjing", "研究所"} intF3 := []float64{641.43, 431.54, 5423.52, 665537.63, 6503.1} intF4
行先后两次对全表的扫描来完成build,第一次扫描时创建新索引,不阻塞读写操作,第二次扫描时合并更新第一次扫描到目前为止发生的变更;Ustore需完成一次全表扫描,在扫描过程中并发DML产生的数据会被插入到以“index_oid_cctmp“命名的临时表中,扫描结束后合并临时表到
vacuum_freeze_table_age 参数说明:指定VACUUM对全表的扫描冻结元组的时间。如果当前事务号与表pg_class.relfrozenxid64字段的差值已经大于参数指定的时间时,VACUUM对全表进行扫描。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
bigint BGWRITER线程写缓冲区的数量。 maxwritten_clean bigint BGWRITER线程停止清理扫描过程的次数(由于单次扫描刷页数量过多导致)。 buffers_backend bigint 后端直接写缓冲区的数量。 buffers_backend_fsync
表示该函数在给出同样的参数值时总是返回同样的结果。 STABLE 表示该函数不能修改数据库,对相同参数值,在同一次表扫描里,该函数的返回值不变,但是返回值可能在不同SQL语句之间变化。 VOLATILE 表示该函数值可以在一次表扫描内改变,因此不会做任何优化。 函数易变性可以查询pg_proc的provolati
e目前已发展为GaussDB Kernel集中式形态的默认行存引擎。 使用Ustore的优势 最新版本和历史版本分离存储,相比Astore扫描范围小。去除Astore的HOT chain,非索引列/索引列更新,Heap均可原位更新,ROWID可保持不变。历史版本可批量回收,对最新版本空间膨胀友好。
e目前已发展为GaussDB Kernel集中式形态的默认行存引擎。 使用Ustore的优势 最新版本和历史版本分离存储,相比Astore扫描范围小。去除Astore的HOT chain,非索引列/索引列更新,Heap均可原位更新,ROWID可保持不变。历史版本可批量回收,对最新版本空间膨胀友好。
指定是否使用partition-wise scan优化的hint 在SMP场景下,对于分区表的并发扫描方式分为两种: 每个线程会遍历所有分区,但是只读取分区的一部分数据,线程之间读取的数据没有交集,所有线程读取的数据合并后是分区的全部数据。 每个线程只和一部分分区绑定,线程之间绑
on表示备机catchup时用增量catchup方式,即从备本地数据文件扫描获得主备差异数据文件列表,进行主备之间的catchup。 off表示备机catchup时用全量catchup方式,即从主机本地所有数据文件扫描获得主备差异数据文件列表,进行主备之间的catchup。 默认值:on
index_list为参数化路径使用的索引序列,为空格隔开的字符串。 示例 nestloop_index示例: 在t1表上传入t2,t3表的t2.c1和t3.c2进行索引扫描(参数化路径): gaussdb=# explain (costs off) select /*+nestloop_index(t1,(t2