数据仓库服务 GAUSSDB(DWS)-例行维护表:操作步骤

时间:2024-09-24 15:54:51

操作步骤

  1. 使用VACUUM或VACUUM FULL命令,进行磁盘空间回收。

    • VACUUM
      对表执行VACUUM操作。
      VACUUM customer;

      可以与数据库操作命令并行运行。(执行期间,可正常使用的语句:SELECT、INSERT、UPDATE和DELETE。不可正常使用的语句:ALTER TABLE)。

      对表分区执行VACUUM操作。

      VACUUM customer_par PARTITION ( P1 );
    • VACUUM FULL
      VACUUM FULL customer;

      需要向正在执行的表增加排他锁,且需要停止其他所有数据库操作。

      在进行磁盘空间回收时,用户可以使用如下命令查询集群中最早事务对应session,再根据需要结束最早执行的长事务,从而更加高效的利用磁盘空间。

      1. 使用命令从GTM上查询oldestxmin
        SELECT * FROM pgxc_gtm_snapshot_status();
      2. 从CN上查询对应的session的pid,此处xmin为上一步的oldestxmin。
        SELECT * FROM pgxc_running_xacts() where xmin=1400202010;

  2. 使用ANALYZE语句更新统计信息。

    ANALYZE customer;

    使用ANALYZE VERBOSE语句更新统计信息,并输出表的相关信息。

    ANALYZE VERBOSE customer;

    也可以同时执行VACUUM ANALYZE命令进行查询优化。

    VACUUM ANALYZE customer;

    VACUUM和ANALYZE会导致I/O流量的大幅增加,这可能会影响其他活动会话的性能。因此,建议通过“vacuum_cost_delay”参数设置。

support.huaweicloud.com/performance-dws/dws_10_0033.html