详解数仓中sequence的应用场景及优化
💡
原文中文,约6600字,阅读约需16分钟。
📝
内容提要
本文介绍了GaussDB(DWS)中sequence的使用场景及如何通过调大sequence的cache值来提高性能,当sequence的cache值较小时,会导致性能瓶颈。
🎯
关键要点
- 本文介绍了GaussDB(DWS)中sequence的使用场景及性能优化方法。
- sequence是产生唯一整数的数据库对象,常用作主键。
- 创建sequence时会生成同名的元数据表,记录相关信息。
- GTM负责生成和维护全局事务ID和sequence等信息。
- 增大sequence的cache值可以减少CN/DN与GTM的通信次数,提高性能。
- GaussDB(DWS)中有两种创建sequence的方法:直接创建和使用serial类型。
- sequence常用于数据迁移时生成主键,处理方式有insert和copy。
- 在insert场景下,nextval可以下推到DN执行,提高效率。
- 在copy场景下,CN频繁与GTM建联可能导致性能瓶颈。
- 通过调大sequence的cache值可以优化copy场景的性能。
- 当前GaussDB(DWS)不支持通过alter sequence修改cache值,需要通过删除和重建sequence来实现。
➡️