- 4
- 0
- 约 10页
- 2017-08-15 发布于重庆
- 举报
Sql高性能的方法.doc
(1)整合简单,无关联的数据库访问:
??? 如果你有几个简单的数据库查询语句,你可以把它们整合到一个查询中(即使它们之间没有关系)
??? (2)删除重复记录:
??? 最高效的删除重复记录方法 ( 因为使用了ROWID)例子:
??? DELETE? FROM? EMP E? WHERE? E.ROWID (SELECT MIN(X.ROWID)
??? FROM? EMP X? WHERE? X.EMP_NO = E.EMP_NO);
??? (3)用TRUNCATE替代DELETE:
??? 当删除表中的记录时,在通常情况下, 回滚段(rollback segments ) 用来存放可以被恢复的信息. 如果你没有COMMIT事务,ORACLE会将数据恢复到删除之前的状态(准确地说是恢复到执行删除命令之前的状况) 而当运用TRUNCATE时, 回滚段不再存放任何可被恢复的信息.当命令运行后,数据不能被恢复.因此很少的资源被调用,执行时间也会很短. (译者按: TRUNCATE只在删除全表适用,TRUNCATE是DDL不是DML)
??? (4)选择最有效率的表名顺序(只在基于规则的优化器中有效):
??? ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个
原创力文档

文档评论(0)