【发布时间】:2014-06-10 16:44:03
【问题描述】:
从 Netezza 表中删除超过 20 天的记录。 过程将 table_name 和时间戳作为输入。 有谁知道这方面的程序?
【问题讨论】:
标签: netezza
从 Netezza 表中删除超过 20 天的记录。 过程将 table_name 和时间戳作为输入。 有谁知道这方面的程序?
【问题讨论】:
标签: netezza
可以编写程序,但需要注意的是,Netezza 是一种 DW 解决方案,适用于大数据,您的系统性能可能会被删除方法严重影响 我可以建议的一个选项是使用您需要保留的数据创建另一个临时表,如果由于某种原因需要相同的表名,则在处理使用旧表名重命名临时表后删除旧数据表。
我的建议步骤 -
step 1 => Create table <temp_tbl_name> as select <fields> from <tbl_name> where <timestamp_field> > 20 days
step 2 => drop table <tbl_name>
step 3 => alter <temp_tbl_name> to <tbl_name>
比赛条件 -
对于上述解决方案,在执行步骤之前您需要获取表上的锁定
您可以根据自己的意愿和舒适程度在 shell/Java/ 或 DB 过程中编写以下步骤。
希望这会有所帮助。
【讨论】:
新郎桌是它的命令
【讨论】:
基于最终目标的几个选项:
您可以使用逻辑删除进行标记(例如,ACTV_ROW = 0)
更新 放 ACTV_ROW = 0 WHERE ROW_DATE
您可以基于 WHERE 子句进行 DELETE,但这会在 netezza 系统中进行逻辑删除,但在整理表之前记录不会完全消失
【讨论】: