我们有一个记录数为1,93,55,48,425的表。
我们希望在同一位置进行保留活动:该活动仅在表中保留当月+最近6个月的记录。
我们正在考虑: 对该表进行分区,然后删除较旧的分区(大于6个月)。
关注点:
我担心的是对表进行分区会导致性能下降吗? 还是有人可以建议一种更好的机制来做到这一点。
答案 0 :(得分:1)
分区方法是否会导致负面的性能影响取决于您对表运行的工作负载类型。
如果通常将查询和数据更改限制在一个分区的单个单元中(在您的情况下为一个月),那么我预计不会产生负面影响,因为仍然只为查询处理一个表结构。
但是,例如在分区表期间执行许多联接,并且在联接之前无法执行分区修剪,然后需要执行one table:one table
联接而不是every partition:one table
联接,这会导致更多的计算工作。
考虑到主要目标是数据老化,可能值得研究SAP HANA Data Lifetime Management功能。有了这些,您就可以以结构化的方式利用dynamic tiering和多温度数据存储。
总而言之,我建议您使用分区表方法来测试您的工作负载,并避免重新发明轮子,而是使用可用的标准工具。