当前位置:编程学习 > C#/ASP.NET >>

网页查询因等待时间长而出现错误。

求救:
我有个WEB的查询系统,数据库数据量较大,有几百万条,要汇总成一些数据显示出来,在进行大量的数据汇总查询时,发现有时能查询出来,有时查询不出来,出现错误网页。而如果进行较少量的查询汇总时,没有问题。
请问:
这是不是和网面的返回时间有关系?是不是如果数据库运算得慢,网页到了时间了就认为没有返回值而造成的?简单的说,是不是因为等待时间过长而造成的原因?该如何解决呢? --------------------编程问答-------------------- 大数据量查询建立索引,分页实现汇总统计
大字段查询速度肯定慢 --------------------编程问答-------------------- 要的是总数据,不能分页。该如何解决呢? --------------------编程问答-------------------- 求救啊 --------------------编程问答-------------------- 1. 优化查询语句,
2. 网页时间设置长点. --------------------编程问答-------------------- 2. 网页时间设置长点.?该如何设置呢? --------------------编程问答--------------------
引用楼主 tctc7563 的回复:
求救:
我有个WEB的查询系统,数据库数据量较大,有几百万条,要汇总成一些数据显示出来,在进行大量的数据汇总查询时,发现有时能查询出来,有时查询不出来,出现错误网页。而如果进行较少量的查询汇总时,没有问题。
请问:
这是不是和网面的返回时间有关系?是不是如果数据库运算得慢,网页到了时间了就认为没有返回值而造成的?简单的说,是不是因为等待时间过长而造成的原因?该如何解决呢?
合理建立索引,分页显示
分页显示是把你查询到的有关的条件列出来,只是是用分页呈现,也是总数据 --------------------编程问答-------------------- 还没弄明白,求高人指教。 --------------------编程问答-------------------- --------------------编程问答-------------------- 顶,希望得到大家的帮助。 --------------------编程问答-------------------- 数据太大,服务器受不了 --------------------编程问答-------------------- 受不了就可以罢工吗?它罢工了,我怎么办啊。 --------------------编程问答-------------------- 沉了要, --------------------编程问答-------------------- 发生错误时,有如下提示:
Server Error in '/' Application.
--------------------------------------------------------------------------------

Runtime Error 
Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine. 

Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".


<!-- Web.Config Configuration File -->

<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
</configuration>
 

Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.


<!-- Web.Config Configuration File -->

<configuration>
    <system.web>
        <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
    </system.web>
</configuration> --------------------编程问答-------------------- 学习一下sqlserver 的建立索引的知识吧。

高性能的功能应该交给你们公司的主程,一来质量有保证,二来可以偷师。 --------------------编程问答-------------------- 友情 顶一下  以后我们肯定也遇到 --------------------编程问答-------------------- 你用存储过程试试   --------------------编程问答-------------------- --------------------编程问答-------------------- 1. 主要是看出错的地方是什么? 代码是否有问题?
  你可以在你的web.config里面修改你的
  此配置为<customErrors mode="Off"/>
  以后每次出错都会显示错来出错的地方.

2. 优化查询语句, 你可以把你的查询语句发出来, 看看是不是有些地方写的不合理.

3. 修改你的webconfig里面的相应地方为:<httpRuntime executionTimeout="600"/>//600秒,自己可以改
   如没有就添加. --------------------编程问答-------------------- 首先,优化SQL语句,……自己参阅各大神的办法

还有就是可以物理化一些表
用物理表比视图要快很多
不如区域吧,一般都是需要join好几张表的,区域,省份,城市……
你可以直接物理化成一张表,减少join次数,因为这写很少更改的

还有就是建立索引,把查询语句尽量往索引上用

还有一个终极武器就是预查询,建立快照(每天晚上无人的时候干),
这样他们查询的结果就是在你的结果中查询了,速度不是一般的快

最后祝你好运,有别的好办法,希望能共享 --------------------编程问答-------------------- 等待时间设置长一点
建立索引,优化查询条件 --------------------编程问答-------------------- 配置为<customErrors mode="Off"/>,出错时也没有什么提示。

等待时间设长点,是怎么设呢? --------------------编程问答-------------------- --------------------编程问答--------------------
引用 21 楼 tctc7563 的回复:
配置为<customErrors mode="Off"/>,出错时也没有什么提示。

等待时间设长点,是怎么设呢?


错误页面是什么呢?

等待时间设置
3. 修改你的webconfig里面的相应地方为:<httpRuntime executionTimeout="600"/>//600秒,自己可以改
  如没有就添加. --------------------编程问答-------------------- <customErrors mode="Off"/>

<httpRuntime executionTimeout="600"/>
都加了,错误提示没有变化。
--------------------编程问答-------------------- 错误提示是什么,截图来看看. --------------------编程问答-------------------- 哈哈,解决了。我查了一些文章,这是查询超时造成的,sqlcommand的查询超时时间默认时间是30秒,我的数据库里有400万条数据,目前要得到结果一般需要30秒左右,超过30秒时就出错,而查询数据量少时能在30秒以内查到结果,显示正常。我将使用的sqlcommand的CommandTimeout属性设为一个较大的值,目前查询正常了。希望对大家都有用。 --------------------编程问答-------------------- 400万条数据,目前要得到结果一般需要30秒左右
-------------------------------------------------
兄弟,一个设置TIMEOUT的时间,另外,你这查询也太慢了吧,30秒,怎么能够忍受。你还是优化一下表和SQL吧。 --------------------编程问答-------------------- 不算慢吧,计算机也要算啊。 --------------------编程问答--------------------
引用 28 楼 tctc7563 的回复:
不算慢吧,计算机也要算啊。


解决了就结贴吧. 我等着分开锅呢. --------------------编程问答-------------------- http://blog.csdn.net/playboyb/archive/2010/04/13/5480284.aspx
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,