ORACLE SQL-UPDATE、DELETE、INSERT优化和使用技巧分享

内容摘要
UPDATE

1、先备份数据(安全、提高性能)。

2、分批更新,小批量提交,防止锁表。

3、如果被更新的自动有索引,更新的数据量很大,先取消索引,再重新创建。

4、全表数据更新,如果
文章正文
UPDATE   

1、先备份数据(安全、提高性能)。

2、分批更新,小批量提交,防止锁表。

3、如果被更新的自动有索引,更新的数据量很大,先取消索引,再重新创建。

4、全表数据更新,如果表非常大,建议以创建新表的形式替代更新。

DELETE
 
1、分批提交、减少锁表时间、减少回滚段压力。

2、大批量数据删除加上rownum<1000。

3、大批量删除,禁止中途ctrl+c,或kill调session。

4、大量数据删除后最好重建索引,分析表。

INSERT   

1、关闭redo log(ALTER TABLE <TABLENAME> nologging;)

2、使用/*+ append */ 暗示。

3、绑定变量。

4、批量提交。

5、如果表是静态,独占使用,可以去掉索引和其他相关约束。

6、大量灌入数据后要分析表。

7、使用SQL load快速装载数据。
代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!