ITPub博客

首页 > 数据库 > PostgreSQL > LightDB数据库-AutoVacuum收集统计信息

LightDB数据库-AutoVacuum收集统计信息

原创 PostgreSQL 作者:yjspace 时间:2022-06-20 19:47:04 0 删除 编辑

LightDB 通过 pg_cron 模块来实现每日在最空闲时间来运行一次 vacuum 和 analyze 命令。


可通过修改 postgresql.conf 配置项自动收集:

autovacuum = on # 开启自动收集

autovacuum_naptime = 15min  # vacuum 间隔时间 15min

Track_counts=on  # 打开收集表和索引上的访问的统计信息

Track_activities=on # 允许跟踪每个 session 执行的 SQL 命令的信息
track_io_timing=on #
允许统计 I/O 调用的时间


AutoVacuum 会启动后台进程运行


对于大表, analyze 命令只读取表的部分内容随机抽样,完成统计信息收集。如果想要统计信息更加准确,可以通过修改参数抽样比例default _statistics_target= 256,默认为 100 ,如果设置的过大,也会拉长收集信息的时间,根据表的行数而定。


同时,可以手动指定列有多少个唯一值,命令:

ALTER TABLE tb1 ALTER COLUMN id set ( n_distinct =2000);

对于继承表,设置 父 表时,子表可以继续父表的设置,命令:

ALTER TABLE tb1 ALTER COLUMN id set ( n_distinct_inherited =2000);


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70018364/viewspace-2901758/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: LightDB部署模式
请登录后发表评论 登录
全部评论

注册时间:2022-05-29

  • 博文量
    7
  • 访问量
    3367