免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3309 | 回复: 4
打印 上一主题 下一主题

查询结果集为空时,速度很慢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-05 22:21 |只看该作者 |倒序浏览
对一张表(大概几十万条记录)进行条件查询,当查询结果集为空时,花的时间很长。但是如果结果集不为空,速度反而快些。
这是为什么?
如何进行优化,在结果集空的情况下仍能较快返回?


谢谢

论坛徽章:
0
2 [报告]
发表于 2007-11-05 22:36 |只看该作者
具体语句

论坛徽章:
0
3 [报告]
发表于 2007-11-13 20:28 |只看该作者
语句只是普通的 SELECT * FROM TABLEA WHERE COL1='XXX' AND COL2='YYY'。

表里有几十万条记录,如果表中有符合条件的记录就很快,如果表中记录都不符合条件,则查询很长时间才结束

论坛徽章:
0
4 [报告]
发表于 2007-11-13 21:26 |只看该作者
生成执行计划看看

论坛徽章:
0
5 [报告]
发表于 2007-11-14 08:45 |只看该作者
很正常,你可能是全表扫描,如果有记录match , 那么,可能扫描到1%时就有记录返回,让你觉得很快。而没有纪录时,它需要整个table扫描才知道没有纪录,所以显得慢。
实际上,如果有记录的那种情况,你让它所有纪录都显示出来的话,估计也不会没有记录得情况快。

当然,真正的原因还要进一步检查,看看我的签名,SQL调优部分
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP