您的位置:首页 > 数据库

关于sql语句的优化

2015-10-26 13:58 477 查看
1、SELECT子句中避免使用 *, 尽量应该根据业务需求按字段进行查询。

2、在写sql语句的话,尽量保持每次查询的sql语句字段用大写,因为oracle总是先解析sql语句,把小写的字母转换成大写的再执行

3. 用>=替换>

      如一个表有100万记录,一个数值型字段A,

      A=0时,有30万条;

      A=1时,有30万条;

      A=2时,有39万条;

      A=3时,有1万记录。

      那么执行 A>2 与 A>=3 的效果就有很大的区别了,因为 A>2 时,

      ORACLE会先找出为2的记录索引再进行比较,

      而A>=3时ORACLE则直接找到=3的记录索引。

4. exists和in

   执行顺序不同,in和not in是先执行in和not in条件里的语句,然后执行主查询,exists和not exists是

   先执行主语句然后执行exists和not exists条件里的语句。

   in用于检查一个值是否包含在列表中。exists用于检查子查询返回行的存在性

   在子查询中,exists提供的性能通常比in提供的性能要好

   IN适合于外表大而内表小的情况;EXISTS适合于外表小而内表大的情况
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: