如何才能写出高效率的SQL语句

资料大小: 0.03 MB

所需积分: 0

下载次数:

用户评论: 0条评论,查看

上传日期: 2019-10-21

上 传 者: 易水寒他上传的所有资料

资料介绍

标签:

  (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子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表。
 

下载地址

如何才能写出高效率的SQL语句下载

用户评论

查看全部 条评论

发表评论请先 , 还没有账号?免费注册

发表评论

用户评论
技术交流、我要发言! 发表评论可获取积分! 请遵守相关规定。
上传电子资料

本月热点资料

电子资料热门词

最新资料

下载排行

本周

本月

总榜

行业聚焦