壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3648|回复: 2

用Where子句替换HAVING子句

[复制链接]
发表于 2007/4/9 13:45:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
避免使用HAVING子句, HAVING 只会在检索出所有记录之后才对结果集进行过滤. 这个处理需要排序,总计等操作. 如果能通过WHERE子句限制记录的数目,那就能减少这方面的开销.


例如:


低效:

SELECT REGION,AVG(LOG_SIZE)

FROM LOCATION

GROUP BY REGION

HAVING REGION REGION != ‘SYDNEY'

AND REGION != ‘PERTH'


高效

SELECT REGION,AVG(LOG_SIZE)

FROM LOCATION

WHERE REGION REGION != ‘SYDNEY'

AND REGION != ‘PERTH'

GROUP BY REGION

评分

参与人数 1壹佰币 +1 收起 理由
success + 1 鼓励啊!!

查看全部评分

发表于 2007/4/9 21:11:30 | 显示全部楼层
这个我倒是没有注意过,
 楼主| 发表于 2007/4/10 08:25:51 | 显示全部楼层
原帖由 crazyxtu 于 2007-4-9 21:11 发表
这个我倒是没有注意过,



如果单单这样的话,基本是感觉不出来速度

但是如果把它嵌套在程序里,或者有几个这样的嵌套的话,那速度就慢多了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 09:09 , Processed in 0.011708 second(s), 15 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表