- 【建议】在openGauss中,建议DDL(建表、comments等)操作统一执行,在批处理作业中尽量避免DDL操作。避免大量并发事务对性能的影响。
- 【建议】在非日志表(unlogged table)使用完后,立即执行数据清理(truncate)操作。因为在异常场景下,openGauss不保证非日志表(unlogged table)数据的安全性。
- 【建议】临时表和非日志表的存储方式建议和基表相同。当基表为行存(列存)表时,临时表和非日志表也推荐创建为行存(列存)表,可以避免行列混合关联带来的高计算代价。
- 【建议】索引字段的总长度不超过50字节。否则,索引大小会膨胀比较严重,带来较大的存储开销,同时索引性能也会下降。
- 【建议】不要使用DROP…CASCADE方式删除对象,除非已经明确对象间的依赖关系,以免误删。
数据加载和卸载
-
【建议】在insert语句中显式给出插入的字段列表。例如:
INSERT INTO task(name,id,comment) VALUES ('task1','100','第100个任务');
-
【建议】在批量数据入库之后,或者数据增量达到一定阈值后,建议对表进行analyze操作,防止统计信息不准确而导致的执行计划劣化。
-
【建议】如果要清理表中的所有数据,建议使用truncate table方式,不要使用delete table方式。delete table方式删除性能差,且不会释放那些已经删除了的数据占用的磁盘空间。
类型转换
- 【建议】在需要数据类型转换(不同数据类型进行比较或转换)时,使用强制类型转换,以防隐式类型转换结果与预期不符。
- 【建议】在查询中,对常量要显式指定数据类型,不要试图依赖任何隐式的数据类型转换。
- 【关注】若sql_compatibility参数设置为A,在导入数据时,空字符串会自动转化为NULL。如果需要保留空字符串需要sql_compatibility参数设置为C。
开源社区地址: https://gitee.com/opengauss/openGauss-migration-portal/tree/master
详细参考文档:README.md 、 命令行参数名称及说明.md
详情查看:https://opengauss.org
详情查看:https://docs-opengauss.osinfra.cn
#openGauss