Oracle,Spring JDBC,如何从表

时间:2016-10-10 14:00:45

标签: oracle spring-jdbc

我使用JdbcTemplate的batchUpdate将大量数据插入到数据库表中

删除它的最快方法是什么?

我用

DELETE FROM tableName WHERE ID >= MIN_ID

其中 MIN_ID 是序列的startValue = 1000000

注意,我想从MIN_ID开始并保持ID低于1000000的数据

有更好的方法吗? 应遵循哪些最佳做法?

注意,我使用的是Oracle db

2 个答案:

答案 0 :(得分:0)

如果您要删除整个表格,因为MIN_ID是startValue,您可以将TRUNCATE TABLE用作TRUNCATE TABLE tableName;

答案 1 :(得分:0)

如果要删除表的大部分,create new_table as select * from tableName where nvl(ID,-1) < MIN_ID;和交换名称通常会更便宜。不要忘记交换索引并重新创建约束和其他对象。当然,如果有人可以在交换过程中插入表,则需要使用锁表或实现一些一致性机制来处理交换期间插入的数据。