0
我有一个分区表“报警”如下从分区中删除一些数据会影响本地索引?
- 按范围(版本)分区;版本:1,2,3 ...
- 每个分区有版本本地索引
- 每个分区都列的组合作为本地索引
- 版本是一个本地索引
- 没有全球性的指数
由于一些企业的约束,
- 我需要从每个版本(但不是所有分区的数据)删除一些数据。
- 没有更新会发生在旧版本中,只能选择每天的基础上
- ,我将新版本的数据
所以为了这个,我会删除如下:
delete /*+ full(alarms) parallel(alarms,4)*/ from alarms where version <= (number) and alarm_type = 'type1';
这不会删除所有的分区。但可能每个1个月,这个分区将是空的。
所以我有一个程序在所有版本上循环,所有的空分区将被删除名称。
我的问题是:直到分区不为空
- 这可能会影响性能?
- 我需要重建索引每个删除?
感谢鲍勃!对于第一点,我的意思是dml操作性能,特别是从受影响的分区中选择数据。并从同一分区删除一些其他数据..等等。对于第二点,你的回答是关键的! –
我认为收集这张表的统计信息可能会有所帮助,因为每天都会创建一个新版本(分区),并且旧分区可能会每天更新/删除 –
您应该定期在任何有重大变化的表格上收集统计信息到它。 –