首页 > 其他分享 >openGauss 分析表

openGauss 分析表

时间:2024-05-07 10:12:56浏览次数:24  
标签:分析 autoanalyze autovacuum 自动 openGauss ANALYZE 统计

分析表

执行计划生成器需要使用表的统计信息,以生成最有效的查询执行计划,提高查询性能。因此数据导入完成后,建议执行ANALYZE语句生成最新的表统计信息。统计结果存储在系统表PG_STATISTIC中。

分析表

ANALYZE支持的表类型有行/列存表。ANALYZE同时也支持对本地表的指定列进行信息统计。下面以表的ANALYZE为例,更多关于ANALYZE的信息,请参见ANALYZE | ANALYSE

  1. 更新表统计信息。

    以表product_info为例,ANALYZE命令如下:

    openGauss=# ANALYZE product_info;
    
    ANALYZE
    

表自动分析

openGauss提供了GUC参数autovacuum用于控制数据库自动清理功能的启动。

autovacuum设置为on时,系统定时启动autovacuum线程来进行表自动分析,如果表中数据量发生较大变化达到阈值时,会触发表自动分析,即autoanalyze。

  • 对于空表而言,当表中插入数据的行数大于50时,会触发表自动进行ANALYZE。
  • 对于表中已有数据的情况,阈值设定为50+10%*reltuples,其中reltuples是表的总行数。

autovacuum可以进行表自动分析功能的生效还依赖于下面几个GUC参数:

  • track_counts 参数需要设置为on,表示开启收集收据库统计数据功能。
  • autovacuum_max_workers参数需要大于0,该参数表示能同时运行的自动清理线程的最大数量。
  • autovacuum_mode参需要配置允许进行analyze。

须知:

  • autoanalyze只支持默认采样方式,不支持百分比采样方式。
  • 多列统计信息仅支持百分比采样,因此autoanalyze不收集多列统计信息。
  • autoanalyze支持行存表和列存表,不支持外表、临时表、unlogged表和toast表。

详情查看:https://opengauss.org

详情查看:https://docs-opengauss.osinfra.cn

标签:分析,autoanalyze,autovacuum,自动,openGauss,ANALYZE,统计
From: https://www.cnblogs.com/renxyz/p/18176618

相关文章

  • openGauss 对表执行VACUUM
    对表执行VACUUM如果导入过程中,进行了大量的更新或删除行时,应运行VACUUMFULL命令,然后运行ANALYZE命令。大量的更新和删除操作,会产生大量的磁盘页面碎片,从而逐渐降低查询的效率。VACUUMFULL可以将磁盘页面碎片恢复并交还操作系统。对表执行VACUUMFULL。以表product_info为例......
  • openGauss 发布
    发布发布可以被定义在任何物理复制的主服务器上。定义有发布的节点被称为发布者。发布是从一个表或者一组表生成的改变的集合,也可以被描述为更改集合或者复制集合。每个发布都只存在于一个数据库中。发布与模式不同,不会影响表的访问方式。如果需要,每个表都可以被加入到多个发布......
  • openGauss 订阅
    订阅订阅是逻辑复制的下游端。订阅被定义在其中的节点被称为订阅者。一个订阅会定义到另一个数据库的连接以及它想要订阅的发布集合(一个或者多个)。订阅者数据库的行为与任何其他openGauss实例相同,并且可以被用作其他数据库的发布者,只需要定义它自己的发布。如果需要,一个订阅者......
  • openGauss 导入数据
    导入数据openGauss数据库提供了灵活的数据入库方式:INSERT、COPY以及gsql元命令\copy。各方式具有不同的特点,具体请参见表1。表1导入方式特点说明方式特点INSERT通过INSERT语句插入一行或多行数据,及从指定表插入数据。COPY通过COPYFROMSTDIN语句直接向openGa......
  • openGauss 导出数据库
    导出数据库openGauss支持使用gs_dump工具导出某个数据库级的内容,包含数据库的数据和所有对象定义。可根据需要自定义导出如下信息:导出数据库全量信息,包含数据和所有对象定义。使用导出的全量信息可以创建一个与当前库相同的数据库,且库中数据也与当前库相同。仅导出所有对......
  • openGauss 导出所有数据库-11
    导出所有数据库openGauss支持使用gs_dumpall工具导出所有数据库的全量信息,包含openGauss中每个数据库信息和公共的全局对象信息。可根据需要自定义导出如下信息:导出所有数据库全量信息,包含openGauss中每个数据库信息和公共的全局对象信息(包含角色和表空间信息)。使用导出的全......
  • openGauss 导出模式
    导出模式openGauss目前支持使用gs_dump工具导出模式级的内容,包含模式的数据和定义。用户可通过灵活的自定义方式导出模式内容,不仅支持选定一个模式或多个模式的导出,还支持排除一个模式或者多个模式的导出。可根据需要自定义导出如下信息:导出模式全量信息,包含数据和对象定义。......
  • openGauss 导出全局对象
    导出全局对象openGauss支持使用gs_dumpall工具导出所有数据库公共的全局对象,包含数据库用户和组,表空间及属性(例如:适用于数据库整体的访问权限)信息。操作步骤以操作系统用户omm登录数据库主节点。使用gs_dumpall导出表空间对象信息。gs_dumpall-Uomm-f/home/omm/backu......
  • openGauss 磁盘空间达到阈值-数据库只读
    磁盘空间达到阈值,数据库只读问题现象执行非只读SQL时报错如下。ERROR:cannotexecute%sinaread-onlytransaction.或者运行中部分非只读SQL(insert、update、createtableas、createindex、altertable及copyfrom等)时报错。cancelingstatementduetodefault_tran......
  • openGauss 磁盘满故障引起的core问题
    磁盘满故障引起的core问题问题现象TPCC运行时,注入磁盘满故障,数据库进程gaussdbcore掉,如下图所示。原因分析数据库本身机制,在磁盘满时,Xlog日志无法进行写入,通过panic日志退出程序。处理办法外部监控磁盘使用状况,定时进行清理磁盘。......