提高oracle执行效率若干方法.docxVIP

  • 2
  • 0
  • 约3.59千字
  • 约 10页
  • 2019-03-25 发布于湖北
  • 举报
优化SQL语句的若干方法 1、操作符号: NOT IN操作符 此操作是强列推荐不使用的,因为它不能应用表的索引。 推荐方案:用NOT EXISTS 或(外连接+判断为空)方案代替 IS NULL, , !=, !, !, NOT, NOT IN, NOT LIKE, LIKE %500, 因为他们不走索引全是表扫描。 NOT IN会多次扫描表, 使用EXISTS、NOT EXISTS、IN、LEFT OUTER JOIN来替代,特别是左连接, 而Exists比IN更快,最慢的是NOT操作。 使用in时,在IN后面值的列表中,将出现最频繁的值放在最前面,出现得最少的放在最后面,这样可以减少判断的次数 2、注意union和union all的区别。union比union all多做了一步distinct操作。能用union all的情况下尽量不用union。 3、查询时尽量不要返回不需要的行、列。另外在多表连接查询时,尽量改成连接查询,少用子查询。 4、尽量少用视图,它的效率低。对视图操作比直接对表操作慢,可以用存储过程来代替它。特别的是不要用视图嵌套,嵌套视图增加了寻找原始资料的难度。 我们看视图的本质:它是存放在服务器上的被优化好了的已经产生了查询规划的SQL。对单个表检索数据时,不要使用指向多个表的视图, 直接从表检索或者仅仅包含这个表的视图上读,否则增加了不必要的

文档评论(0)

1亿VIP精品文档

相关文档