查询大量数据的性能问题

bukenengwobuxin11 2005-11-16 09:37:42
各位高手,小弟是初学者,有个问题不知道应该怎么解决,希望高手给个思路或者解决方案,谢谢

是这样的,有一个客户数据条件的查询,但是要求客户在什么都不输入的情况下要查询出所有的数据我的数据库中现在有7000条左右的数据我写了一个查询语句获得所有数据的一个字段的值

select BH from WZCL where WZCL=1

这个执行很快得到了所有符合条件的编号

然后我再用这个编号当作条件

select * from WZCL where BH in ('刚才查询出来的所有编号的内容共计7000条')

再执行这条SQL语句的时候在查询分析器中都跑了9分多钟

这样把这个SQL语句当参数传给DataSet的时候就会超时,会出现错误

拜托各位我应该怎么改才能使这个SQL的性能提高呢?

有的朋友说把select * 改成我要的字段,数据库中一共40个字段,我要用32个,还没有测试可以提高多少效率。

谢谢各位了,拜托,拜托
...全文
142 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
swordmanli 2006-01-02
  • 打赏
  • 举报
回复
http://www.blog.com.cn/user25/lijunyi/archives/2005/213533.shtml
lxzm1001 2005-11-16
  • 打赏
  • 举报
回复
select * from WZCL where BH in (select BH from WZCL where WZCL=1)要很久吗?
bugchen888 2005-11-16
  • 打赏
  • 举报
回复
建索引:
create index idx_WZCL_001 on WZCL(BH)
kubou 2005-11-16
  • 打赏
  • 举报
回复
select * from WZCL
where exists (select BH from WZCL where T.WZCL=WZCL)
yitangliang 2005-11-16
  • 打赏
  • 举报
回复
Select a.* from WZCL a,(select BH from WZCL where WZCL=1) b where a.BH=B.BH
另外,可以的话,最好在BH和ZECL字段上建立索引

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧