你在a3字段上应该没有建立索引而引起了全表扫描,
当过滤条件不同,查询的可能有些差异,有的马上
就扫描到,而有的要扫描到表尾才能找到。
建议LZ建立索引,和把or条件的分两条语句写
用union all来连组合。
当过滤条件不同,查询的可能有些差异,有的马上
就扫描到,而有的要扫描到表尾才能找到。
建议LZ建立索引,和把or条件的分两条语句写
用union all来连组合。
解决方案 »
- ssis 导数据时 出的错误 急啊!
- 求一条语句,在线等....
- 请问:存储过程有编译的概念吗?
- 数据库设计编程么?我想学习数据库,不知道是否设计编程方面?请教散分!
- 存储过程返回值被截断问题,请求帮助
- 在sqlAGENT里的自动检查数据库正不正常的任务一段语句现在不能执行了,请给段语句或解释下为什么不能执行
- 请问哪里错了?
- 如何让视图带参数?
- 怎样用osql命令备份或恢复数据库!!!???
- 帮帮忙,我的数据是不是完蛋了。我急,我急,我急急急!!!
- 大大小小的软件开发公司越来越多,使我不明白的是,哪有那么多的软件开发任务,都有哪些方面的软件需要开发。大型公司已经开发的大型软件
- 超长sql语句被截断?
not length(a.att2)>0写成:len(a.att2)=0
not a.att2=a.a3写成:a.att2<>a.a3
'1114853495640'=(select bcbs_gongwen.att1 from bcbs_gongwen where bcbs_gongwen.id=a.qid)换成exists如下:
select a.*
from wenjian_recive a,bcbs_gongwen b
where a.a3='zhangsan' and ((len(a.att2)=0) or (a.att2<>a.a3))
and a.a5=0 and a.n3 in (2,3)
and exists(select * from bcbs_gongwen
where bcbs_gongwen.id=a.qid and bcbs_gongwen.att1='1114853495640')
order by a.id desc
--有一些常用的SQL写法也要注意,避免查询丢失索引的写法.