`
Supanccy2013
  • 浏览: 213733 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

sql 语句优化

sql 
阅读更多
一:
  尽量挑选自己需要的字段进行查询, 不要随便使用 select *,对大数据量,这是个致命的错误。

二:能用exitst关键字的,不要用in
    in的子查询大多是表的连接,返回的是实际的数据,而exists返回来的是true或false。

三:对于表的连接一定要对每张表进行筛选完,再进行连接。 否则,就是两张表的全连接,再筛选,效率低下。

四:oracle分页的写法
   select * from (select * from tableName where rownum < 10) where rownum > 0;

   切记不要写成:
   select * from (select * from tableName where rownum>0 and rownum < 10);


五:一条sql完成的事儿,勿要两条sql来完成。

六:尽量使用预编译(绑定变量)的方法来执行sql。

七:多用where 少用having

八:多用union all  少用union。

九:相同功能,相同性能的sql语句,尽量复制,粘贴,务必保证sql语句完全一直。

十:where后面多条件: 记录符合条件数少的放在前面,符合数多的放在后面。

十一:统计行数
    
select count(1) from tableName;

     不要写成:
select count(*) from tableName;


十二:判断记录是否存在
   
 select 1 from var1 where var2 = var3.

 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics