19万的记录查询花了6分钟,sql server7为何如此不堪?请问如何提高查询速度?

ad100 2001-12-11 09:09:48
使用SQLserver7,在查询分析器里查询19万的记录查询花了6分钟,(select * from table1)请问如何提交查询速度?表中常用的字段都建了索引的
在前面的一些贴了发现他们说100万的记录查询并绑定才用5钞,请问他们是如何做得到的?
(虽说操作不太可能取出所有的值,但并不是没有这个可能的,是么?在实际操作中,统计数据是也觉得很慢,有什么好的解决办法呢?)
...全文
131 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ad100 2001-12-12
  • 打赏
  • 举报
回复
多谢各位!特别是一飞兄和蓝色力量兄
bluepower2008 2001-12-11
  • 打赏
  • 举报
回复
给你两点建议:
1。在字段name上建立索引。
2。尽量不要使用<>,这种查询条件会导致全表扫描,使用左连接来提高效率。
select a.* from table1 a left outer join (select id from table1 where name = 'abc') as b on a.id = b.id where b.id is null
注:id为table1的主关键字
N_chow 2001-12-11
  • 打赏
  • 举报
回复
用執行計劃看一下,是否用了Table Scan,假如是,則可按狼兄的意見加一個Cluster index(一般是有了Primary Key之後就有了)。
如果不是,則可用Profiler跟蹤一下,看看時間花得最多的地方是在哪里,再想辦法。
wqspine 2001-12-11
  • 打赏
  • 举报
回复
用存储过程
liu7537 2001-12-11
  • 打赏
  • 举报
回复
我的意见是,你所花的6分钟并不是SQL Server 7查询所用,而是这些数据从服务器传送到你的工作站所花的时间!换句话说,这个事件是网络数据传输所用时间,而不是SQL Server7查询所用时间。
如果你想缩短这6分钟时间,建议你把你们单位的局域网换成千兆网!:)
panther_totem 2001-12-11
  • 打赏
  • 举报
回复
你参考net_steven(吃素的狼)的意见试试.
ad100 2001-12-11
  • 打赏
  • 举报
回复
是加个where条件也行呀,我加了,select * from table1 where name<>"abc"
结果还是一样,要花差不多6分钟!
net_steven 2001-12-11
  • 打赏
  • 举报
回复
创建一个聚集索引。
panther_totem 2001-12-11
  • 打赏
  • 举报
回复
如果没有where条件,那么你建立的索引并不起作用,同样是全表搜索,所以必要的where条件很重要。
PBVC 2001-12-11
  • 打赏
  • 举报
回复
不明白 , 帮你 UP
panther_totem 2001-12-11
  • 打赏
  • 举报
回复
如果没有where条件,那么你建立的索引并不起作用,同样是全表搜索,所以必要的where条件很重要。

34,623

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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