ORACLE SQL-UPDATE、DELETE、INSERT优化和使用技巧分享
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快速装载数据。
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快速装载数据。
免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。
热门教程
新手学oracle常见疑问2019-12-05
oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解2019-01-22
oracle case when 语句的用法详解2019-02-07
ORACLE性能优化之SQL语句优化2021-03-10
oracle中使用group by优化distinct2019-12-05
ORACLE 10g 安装教程[图文]2019-01-21
ORA-00947:Not enough values (没有足够的值)的深入分2019-01-22
Oracle显示游标的使用及游标for循环2019-03-01
Oracle 查看表空间的大小及使用情况sql语句2019-01-22
ORA-12514及ORA-28547错误解决方案2019-01-23