摘要: 在我们平常的SQL查询中,其实我们有许多应该注意的原则,以来实现SQL查询的优化,本文将为大家介绍30条查询优化原则。首先应注意的原则1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=03.应尽量避免在 where 子句中使用! 阅读全文
posted @ 2011-02-28 11:29 cpcpc 阅读(581) 评论(1) 推荐(0) 编辑
摘要: 如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字。union(或称为联合)的作用是将多个结果合并在一起显示出来。 union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。 Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序; UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNIONU 阅读全文
posted @ 2011-02-28 11:26 cpcpc 阅读(25372) 评论(2) 推荐(1) 编辑
摘要: 关于一般的行列转换(Sql2000)我们必须用 select ...case...语句参照http://blog.csdn.net/talantlee/articles/353798.aspx针对sql2005 系统提供两个新的关键字 PIVOT 和UNPIVOT可用来作此类操作.语法规则<pivot_clause> ::= ( aggregate_function ( value_column ) FOR pivot_column IN ( <column_list> ) ) <unpivot_clause> ::= ( value_column FOR 阅读全文
posted @ 2011-02-28 11:19 cpcpc 阅读(2110) 评论(1) 推荐(1) 编辑
摘要: --聚合函数usepubsgoselectavg(distinctprice)--算平均数fromtitleswheretype='business'gousepubsgoselectmax(ytd_sales)--最大数fromtitlesgousepubsgoselectmin(ytd_sales)--最小数fromtitlesgousepubsgoselecttype,sum(price),sum(advance)--求和fromtitlesgroupbytypeorderbytypegousepubsgoselectcount(distinctcity)--求个数fro 阅读全文
posted @ 2011-02-28 11:13 cpcpc 阅读(447) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示