问题描述
嗨,汤姆,
我使用的是Oracle EE 11.2.0.4.0版。
除此之外,我还部署了我的Java应用程序。所有按逻辑分组的表均通过ON DELETE CASCade子句连接。举例如下:
删除表哑铃清除;
删除表哑巴清除;
--父表
CREATE TABLE哑元_par
(
ID编号,
文本VARCHAR2(1000) ,
cdate日期默认系统日期,
约束哑参数_par_pk主键(id)
);
--子表
CREATE TABLE哑机_ch
(
ID编号NOT NULL ,
文本VARCHAR2(1000) ,
父ID编号,
s_父代编号,
约束哑铃_ch_pk主键(id) ,
约束哑铃_ch_spi_fk外键(s_)引用哑铃_ch (id) ON DELETE CASCDE使能,
约束哑巴_ch_id_fk外键(父代ID )引用哑巴(id) ON DELETE CASCDE启用
);
创建索引idx_dummy_par_cd在哑巴(cdate)上;
在我的应用程序中,需要保留过去120天的数据,旧数据应该被清除。
为了达到这个目的,我可以想到两个选择:
1.在我的Java应用程序中,我将使用JDBC.bulkDelete方法,在第121天,我将触发删除操作。
示例代码,如:
字符串删除TableSQL = "从哑巴中删除WGERE cdate <= SYSD - 120";
dbConnection = getDBConnection() ;
准备语句= dbConnection.prepareStatement(deleteTableSQL) ;
dbConnection.setAutoCommit(false);
preparedStatement.addBatch();
preparedStatement.executeBatch();
dbConnection.commit();
我将创建一个PLSQL过程,它将使用FORALL删除这些数据。在第121天,我的Java应用程序将调用PLSQL过程。它不会进行任何数据操作。
哪种方法是最好的。我的表中的数据可能是巨大的,范围可达1-5米。
我使用的是Oracle EE 11.2.0.4.0版。
除此之外,我还部署了我的Java应用程序。所有按逻辑分组的表均通过ON DELETE CASCade子句连接。举例如下:
删除表哑铃清除;
删除表哑巴清除;
--父表
CREATE TABLE哑元_par
(
ID编号,
文本VARCHAR2(1000) ,
cdate日期默认系统日期,
约束哑参数_par_pk主键(id)
);
--子表
CREATE TABLE哑机_ch
(
ID编号NOT NULL ,
文本VARCHAR2(1000) ,
父ID编号,
s_父代编号,
约束哑铃_ch_pk主键(id) ,
约束哑铃_ch_spi_fk外键(s_)引用哑铃_ch (id) ON DELETE CASCDE使能,
约束哑巴_ch_id_fk外键(父代ID )引用哑巴(id) ON DELETE CASCDE启用
);
创建索引idx_dummy_par_cd在哑巴(cdate)上;
在我的应用程序中,需要保留过去120天的数据,旧数据应该被清除。
为了达到这个目的,我可以想到两个选择:
1.在我的Java应用程序中,我将使用JDBC.bulkDelete方法,在第121天,我将触发删除操作。
示例代码,如:
字符串删除TableSQL = "从哑巴中删除WGERE cdate <= SYSD - 120";
dbConnection = getDBConnection() ;
准备语句= dbConnection.prepareStatement(deleteTableSQL) ;
dbConnection.setAutoCommit(false);
preparedStatement.addBatch();
preparedStatement.executeBatch();
dbConnection.commit();
我将创建一个PLSQL过程,它将使用FORALL删除这些数据。在第121天,我的Java应用程序将调用PLSQL过程。它不会进行任何数据操作。
哪种方法是最好的。我的表中的数据可能是巨大的,范围可达1-5米。
专家解答
为什么不两全其美呢?
有一个PLSQL过程,它可以:
删除自哑巴位置WGRE cdate <= SYS日期- 120
有一个PLSQL过程,它可以:
删除自哑巴位置WGRE cdate <= SYS日期- 120
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




