求助一个就要令我崩溃的问题,大家帮我
aspx页面分页读取数据库,有时会有点中间几个分页出现数据库超时,例如点6,7,10页,点其他页又没有问题,而我将那几个分页的SQL语句写进SQL管理器里面的查询是可以运行的,数据库是MSSQL2008,重建索引后点击那几个页面又没有问题了,但是过几天又出现这个问题了,分页超时的页面是不固定的,今天是6,7,8等,明天可能是10,12等,数据库的数据是每天都更新的,数据库的where条件需要用到的字段都建立了索引。这里有几个疑惑,为什么数据库直接运行那些语句没问题,而aspx页面运行就超时?为什么就中间某些页面超时,其他页面就不超时?重建索引后那几个页面就不超时了,是不是跟索引有关系?实在搞不明白了,大家请帮我,谢谢!
------解决方案--------------------在网上找些分页的方法
------解决方案--------------------听你的描述像是connection连接数不够的样子。如果超时时间跟数据库访问超时设置差不多的话,那就确定是这个原因了。
------解决方案--------------------sql分页优化。
------解决方案--------------------还有一个可能是那个表被其他的操作,如新增、删除异常造成了数据库死锁了,当查询超时检查一下死锁。
------解决方案--------------------SQL Server的事务操作默认是ReadCommitted,也就是随便普通地写一个运行时间很长(例如达到5秒钟这么久)的事务时那么别的仅仅简单读取相关数据的事务就要停顿等待它完成了之后才能读取到数据。
如果你不要求绝对正确,那么你查询数据库时应该写 SELECT * FROM YourTable WITH(NOLOCK) where ... 这类语法,写上 with(nolock)!
实际上我们几乎应该将大多数查询代码都这样写,只是因为这样写比较麻烦,我们懒得多动一动手指敲这两个单词“而已”。
------解决方案--------------------
在网上找些分页的方法,这个有许多种方法 呢
------解决方案--------------------你的sql分页方法有问题