数据膨胀磁盘空间不足,导致性能降低 问题现象 用户数据膨胀严重,磁盘空间不足,性能低。 原因分析 用户可在管控面执行全库Vacuum/Vacuum Full,以定期进行空间回收: 用户频繁创建、删除表,导致系统表膨胀严重,需要对系统表执行Vacuum。 用户频繁执行UPDATE、DELETE
INDEX对象设计规范(重点) 规则2.14 只创建必要的索引,创建索引必须选择合适的列和顺序 违反规范的影响: 冗余索引浪费空间,索引多影响入库效率。 组合索引中列顺序错误,影响查询效率。 最佳实践: 索引的使用需兼顾以下条件: 索引列必须是常用于过滤条件或JOIN关联条件的列。
INDEX对象设计规范(重点) 规则2.14 只创建必要的索引,创建索引必须选择合适的列和顺序 违反规范的影响: 冗余索引浪费空间,索引多影响入库效率。 组合索引中列顺序错误,影响查询效率。 最佳实践: 索引的使用需兼顾以下条件: 索引列必须是常用于过滤条件或JOIN关联条件的列。
配置DWS快照参数 快照参数配置可以指定创建快照和快照恢复的参数信息,以便对快照功能进行优化调整。 约束与限制 该功能仅8.2.0及以上集群版本支持(对于8.2.0之前的集群版本,仅支持个别参数的配置)。 配置参数后该集群所有的快照、恢复都将以所配置的参数下发命令。 9.1.0.210
DWS约束设计规则 DEFAULT和NULL约束 【建议】如果能够从业务层面补全字段值,则不建议使用DEFAULT约束,避免数据加载时产生不符合预期的结果。 【建议】给明确不存在NULL值的字段加上NOT NULL约束,优化器会在特定场景下对其进行自动优化。 【建议】给可以显式命名的约束显式命名
例行重建索引 背景信息 数据库经过多次删除操作后,索引页面上的索引键将被删除,造成索引膨胀。例行重建索引,可有效的提高查询效率。 数据库支持的索引类型包含B-tree索引、GIN索引和PSORT索引。 对于B-tree索引,例行重建索引可有效的提高查询效率。 如果数据发生大量删除后
例行重建索引 背景信息 数据库经过多次删除操作后,索引页面上的索引键将被删除,造成索引膨胀。例行重建索引,可有效的提高查询效率。 数据库支持的索引类型包含B-tree索引、GIN索引和PSORT索引。 对于B-tree索引,例行重建索引可有效的提高查询效率。 如果数据发生大量删除后
DWS约束设计规则 DEFAULT和NULL约束 【建议】如果能够从业务层面补全字段值,则不建议使用DEFAULT约束,避免数据加载时产生不符合预期的结果。 【建议】给明确不存在NULL值的字段加上NOT NULL约束,优化器会在特定场景下对其进行自动优化。 【建议】给可以显式命名的约束显式命名
例行重建索引 背景信息 数据库经过多次删除操作后,索引页面上的索引键将被删除,造成索引膨胀。例行重建索引,可有效的提高查询效率。 数据库支持的索引类型包含B-tree索引、GIN索引和PSORT索引。 对于B-tree索引,例行重建索引可有效的提高查询效率。 如果数据发生大量删除后
案例:改写SQL排除剪枝干扰 分区表查询中表达式一般不是单纯的分区键,而是包含分区键的表达式的Filter条件,这种类型的Filter条件是不能用来剪枝的。 优化前 t_ddw_f10_op_cust_asset_mon为分区表,分区键为year_mth,此字段是由年月两个值拼接而成的整数
案例:改写SQL排除剪枝干扰 分区表查询中表达式一般不是单纯的分区键,而是包含分区键的表达式的Filter条件,这种类型的Filter条件是不能用来剪枝的。 优化前 t_ddw_f10_op_cust_asset_mon为分区表,分区键为year_mth,此字段是由年月两个值拼接而成的整数
案例:改写SQL排除剪枝干扰 分区表查询中表达式一般不是单纯的分区键,而是包含分区键的表达式的Filter条件,这种类型的Filter条件是不能用来剪枝的。 优化前 t_ddw_f10_op_cust_asset_mon为分区表,分区键为year_mth,此字段是由年月两个值拼接而成的整数
GAUSS-03671 -- GAUSS-03680 GAUSS-03671: "btree_xlog_cleanup: right block unfound" SQLSTATE: XX000 错误原因:right block查找不到。 解决办法:内部错误,属于预防性报错机制。请联系技术支持工程师提供技术支持
表数据膨胀导致SQL查询慢,用户前台页面数据加载不出 问题现象 数据库中原先执行几秒钟的SQL语句,现在执行二十几秒未出结果,导致前台页面数据加载超时,无法对用户提供图表显示。 原因分析 大量表频繁增删改,未及时清理,导致脏数据过多、表数据膨胀、查询慢。 内存参数设置不合理。 分析过程
PG_AMOP PG_AMOP系统表存储和访问方法操作符族关联的信息。如果一个操作符是一个操作符族中的成员,则在这个表中会占据一行。一个族成员是一个search操作符或一个ordering操作符。一个操作符可以在多个族中出现,但是不能在一个族中的多个搜索位置或多个排序位置中出现。
PGXC_GROUP PGXC_GROUP系统表存储节点组信息,在存算分离3.0版本中,每个逻辑集群节点组称为一个VW(Virtual Warehouse),而在存储KV层,每一个VW会和一个vgroup相对应。 表1 PGXC_GROUP字段 名称 类型 描述 group_name
PG_AMOP PG_AMOP系统表存储和访问方法操作符族关联的信息。如果一个操作符是一个操作符族中的成员,则在这个表中会占据一行。一个族成员是一个search操作符或一个ordering操作符。一个操作符可以在多个族中出现,但是不能在一个族中的多个搜索位置或多个排序位置中出现。
PGXC_GROUP PGXC_GROUP系统表存储节点组信息,在存算分离3.0版本中,每个逻辑集群节点组称为一个VW(Virtual Warehouse),而在存储KV层,每一个VW会和一个vgroup相对应。 表1 PGXC_GROUP字段 名称 类型 描述 group_name
索引使用约束 下面是一个使用索引的示例: 1 2 3 4 5 6 7 8 9 10 11 12 create table table1 (c_int int,c_bigint bigint,c_varchar varchar,c_text text) with(orientation
GAUSS-02261 -- GAUSS-02270 GAUSS-02261: "Fail to generate stream element due to out of memory" SQLSTATE: 53200 错误原因:无法创建分布式内部对象。 解决办法:内存不够用,检查内存使用情况