{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

在SQL SERVER 2000中查询语句产生阻塞该怎么办?

leo108leo108 回答0 收藏1
收藏问题

1条回答

tyheist

tyheist

回答于2022-06-28 15:55

产生阻塞这个概念不够清楚,不知道你具体指得是什么。

如果说查询被拒绝,可能是你的权限不足;

如果说查询没有结果,一种是你查询语句的条件设置有问题,另外一种情况就是数据库中没有满足条件的记录;

如果说查询长时间没有响应,可能是获取的记录数比较多,也可能是条件过于复杂(如连接的表多,子查询较多等),这种情况下,你可以使用TOP语句返回指定的记录数,如:

SELECT Top 1000 * FROM 表名 WHERE 查询条件

这里就是根据条件返回某个表中的前1000条记录

要是条件过于复杂,你可以对条件进行优化或者对原表进行优化,如对做链接的字段设置索引,或者减少子查询,或者先过滤再连接等,以减轻数据库的负担。当然,条件的复杂造成的响应慢,往往也是由于数据库中的记录较多造成的,可以根据实际情况,对数据库的记录进行分割等。


如果你还有疑问,请给我留言。

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<