sql - 在 Range 分区中创建动态分区
问题描述
我有以下情况。假设我有一个有 3 个分区的表。一个是为了20190201
下一个是20190202
,一个是为了20190210
。我被要求了。无论我们通过哪个日期,都应该创建自动分区。因此,如果我使用动态 sql,我可以在例如最大分区之后创建分区20190211
。但是如果我想为其创建分区,20190205
则会出错。无论如何,即使存在最大分区,也可以在运行时创建分区而不会丢失数据。我们被告知不要创建间隔分区
解决方案
这很简单。
在创建表本身时,在日期列上使用间隔分区。您可以根据需要选择分区间隔为小时/天/月。
因此,每当您根据日期值向表中插入新数据时,数据都会转到正确的分区或创建新分区。创建时在表中使用以下语法。
partition by range ( date_col )
interval ( NUMTODSINTERVAL(1,'day') )
( partition p1 values less then ( date '2016-01-01' ))
推荐阅读
- python - 输入函数中的 TensorFlow 数据集方法调用序列
- c# - LinkButton 需要像进度条的 Button 一样工作
- amazon-web-services - AWS AppSync 是否适用于 Xamarin?
- kubernetes - 如何使用 helm 模板创建 toml 数组?
- time-complexity - 这个函数的时间复杂度是 O(n * (n * log n² ))
- ios - 如何使用 Swift 包管理器添加依赖项
- java - 删除添加的按钮 Vaadin
- powershell - PowerShell 检查丢失的 ShadowCopies
- javascript - Google Publisher Tag 是否有槽渲染失败事件?
- chisel - 凿子:When-otherwise 子句在函数定义中不起作用