+ -
当前位置:首页 → 问答吧 → 一个表访问速度特别慢,求助。

一个表访问速度特别慢,求助。

时间:2011-12-06

来源:互联网

数据库其他表正常,就一个表访问特别慢。一共只74行数据,但select * 的时候半天出不来结果,更别提前台跟这个表相关的业务了。
这是什么原因啊,是锁表之类的造成的吗?折腾2天了,求助呀。

作者: nihao87224   发布时间: 2011-12-06

可能死锁了

作者: geniuswjt   发布时间: 2011-12-06

1.可能是有死锁,可查日志了解.
2.可能是磁盘有问题,读不出来.可考虑把数据库文件拷到其他盘上试试.

作者: qianjin036a   发布时间: 2011-12-06

引用 2 楼 qianjin036a 的回复:

1.可能是有死锁,可查日志了解.
2.可能是磁盘有问题,读不出来.可考虑把数据库文件拷到其他盘上试试.

请问下,如何查看日志来判断是否死锁造成的呀,虽然搞数据库有几年了,但一直是偏向应用层面,这调优,性能之类的还真不大懂,希望您能抽出点时间说的较为详细点。谢谢了。

作者: nihao87224   发布时间: 2011-12-06

引用 4 楼 nihao87224 的回复:
引用 2 楼 qianjin036a 的回复:

1.可能是有死锁,可查日志了解.
2.可能是磁盘有问题,读不出来.可考虑把数据库文件拷到其他盘上试试.

请问下,如何查看日志来判断是否死锁造成的呀,虽然搞数据库有几年了,但一直是偏向应用层面,这调优,性能之类的还真不大懂,希望您能抽出点时间说的较为详细点。谢谢了。

这表有主键没?。。。

作者: SQL777   发布时间: 2011-12-06

当然有咯

作者: nihao87224   发布时间: 2011-12-06

SQL code

--2005
select * from master.dbo.syslockinfo where object_name(rsc_objid)=N'your table name'
--好像,2005管理,活动监视器,可以看到数据库是否存在死锁


作者: mustudent   发布时间: 2011-12-06

try this,
SQL code

 select * from [表名] (nolock)

作者: ap0405140   发布时间: 2011-12-06

引用 6 楼 nihao87224 的回复:
当然有咯

用表的具体情况得描述啊

作者: SQL777   发布时间: 2011-12-06

前面我的描述可能不大准确,实际上是一会正常,一会不正常,并且当用户数量少的时候,明显查询都是正常的,所以可以判断死锁造成的可能性很大。
我在监视器当中查看了一些挂起的语句,其中的查询都是没有加(nolock)的,另外表关联也不叫多,where条件方面还比较合理,但是由于特殊原因我现在无法修改这些sql语句,所以我这里提出一个疑问,因为客户端用的是无线,假如客户端在打开某个页面向服务器发起查询请求,然后由于无线网络不稳定,这时候其他用户访问刚才查询所涉及到的那些表会有影响吗。

作者: nihao87224   发布时间: 2011-12-06

引用 10 楼 nihao87224 的回复:

前面我的描述可能不大准确,实际上是一会正常,一会不正常,并且当用户数量少的时候,明显查询都是正常的,所以可以判断死锁造成的可能性很大。
我在监视器当中查看了一些挂起的语句,其中的查询都是没有加(nolock)的,另外表关联也不叫多,where条件方面还比较合理,但是由于特殊原因我现在无法修改这些sql语句,所以我这里提出一个疑问,因为客户端用的是无线,假如客户端在打开某个页面向服务器发起查询请……

另外表关联也不叫多 是比较多

作者: nihao87224   发布时间: 2011-12-06