首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL话语重构

2012-07-25 
SQL语句重构消除重复的模式(union之类的集合操作符的不同部分;子查询中的select,from,where子句中;from子

SQL语句重构
消除重复的模式(union之类的集合操作符的不同部分;子查询中的select,from,where子句中;from子句中以各种其他方式出现的引用) 技术:case,汇总技术; with子句;去掉没必要的distinct转移到子查询;min之类的函数会忽略null;去掉无用的连接;union去掉了重复记录,因此distinct不是必要的;如果有外部连接需要返回记录,则外连接没有意义会更慢,应该改为内连接; in() 隐含着一个distinct
玩转子查询
及早启用过滤条件
简化条件(让访问每个表的次数尽可能的少)
  如果几个子查询引用的是同一个表,那么就检查一下是否能一遍就收集到所有的信息

select ...from a,  (select ...     from b, t1    where ...    union   select     from b, t2   where ...)where ...


声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。

热点排行