在生产环境中会产生大量的数据,而许多数据过了一定时间后就无效了,需要删除
一般可以根据时间来创建分区表,将不同时间的数据放在不同的分区表中,需要清理的时候不需要通过delete语句来删除,而是通过drop分区表的方式,这样速度会非常快
如 日志表 TEST_LOG
1.建立默认的分区 TEST_LOG
2.定时任务每个月创建一个分区表如:TEST_LOG20110809
3.定时任务删除过期分区表:
cursor del_part_table
(table_name in varchar2, part_prefix in varchar2 ,v_num in varchar2)
is
select PARTITION_NAME from user_tab_partitions
where TABLE_NAME=table_name
and PARTITION_NAME like part_prefix||'%' and PARTITION_NAME < part_prefix||to_char(add_months(sysdate,v_num),'YYYYMM');
table_name 指定表名 part_prefix 指定分区表前缀 v_num 表示当前时间和需要删除的月份的差
如:
for row in del_part_table('TEST_LOG','TEST_LOG','-3') loop
execute immediate 'alter table TEST_LOG
drop partition '||row.PARTITION_NAME;
end loop;
分享到:
相关推荐
该项目是一款基于freeRTOS操作系统和STM32F103x微控制器的手机远程控制浴室温度系统设计源码,共包含1087个文件,包括580个C语言源文件、269个头文件、45个汇编源文件、36个数据文件、36个目标文件、35个编译规则文件、28个包含文件、27个文本文件、6个源文件、3个归档文件。此系统通过手机远程实现对浴室温度的有效控制,适用于智能浴室环境管理。
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。
labview程序代码参考学习使用,希望对你有所帮助。