【发布时间】:2019-03-06 17:16:14
【问题描述】:
我有一个范围分区的 Oracle 表,我想使用分区键对其进行更新。
有没有办法动态创建考虑分区键的更新脚本,如下所示,而不必手动维护这样的脚本
update table where date between 'a' and 'b'
update table where date between 'b' and 'c'.
【问题讨论】:
-
那个表的分区键是什么?如果它是
DATE列(顺便说一句,这是一个可怕的列名称),那么 Oracle 将自动处理仅更新相应分区中的行。 -
你说的是更新表中的数据,还是更新表分区定义?
-
@a_horse_with_no_name :表列 = invoice_date。该表有超过 3 亿行。我们无法一次更新所有这些。因此,我们尝试通过在 'Jan 01 2018' 和 'Jan 31 2018' 之间指定 INVOICE_DATE 来一次更新一个分区
-
@MarkStewart - 更新表格。它有超过 3 亿行。
-
那么分区键是什么?
标签: sql oracle performance sql-update