如何使用GaussDB(DWS)的本地临时表进行数据处理?
💡
原文中文,约4000字,阅读约需10分钟。
📝
内容提要
本文介绍了GaussDB(DWS)的本地临时表功能,包括语法、使用场景、原理和数据清理等方面。本地临时表的特点是表定义和数据都是会话相关,其他会话看不到本会话创建的本地临时表。临时表可以与非临时表同名,但优先级临时表高于非临时表。
🎯
关键要点
- GaussDB(DWS) 从8.2.1版本后支持三种形式的临时表:本地临时表、Volatile临时表、全局临时表。
- 本地临时表的特点是表定义和数据都是会话相关,其他会话看不到本会话创建的本地临时表。
- 创建本地临时表时需要指定TEMP或者TEMPORARY,ON COMMIT选项决定提交时的操作。
- 临时表可以与非临时表同名,优先级临时表高于非临时表。
- 使用本地临时表可以将复杂业务逻辑拆分成多个较简单语句,便于维护。
- 在CN节点出现异常时,本地临时表可以保证业务使用的连续性。
- 临时表在元数据上与普通表的区别在于其只在当前会话可见,且会建立一个只属于当前会话的schema。
- 会话正常退出时,本地临时表的表定义和数据都会被删除,异常退出时数据不会立即删除。
- CN Retry功能开启时,临时表数据可以保证不丢失,建议在使用临时表时保持CN Retry开关状态一致。
- 使用连接池机制时,建议在归还连接之前主动删除临时表,避免数据异常。
➡️