极其郁闷的一个问题,关于数据库操作的,高手请进!!!
使用Cell插件显示报表,报表由存储过程产生,Asp中调用数据库的存储过程,做如下测试:
<1>存储过程执行<1秒,则Asp显示出数据所用的时间<2秒,根据数据量而定
<2>存储过程执行2-3秒,则Asp显示出数据所用的时间竟然是15秒
注意,上面返回的记录数都是10条,显示的时间应该与记录的条数无关
我直接使用如下语句执行存储过程的(不知道这有没关系)
set rs=Server.CreateObject ("adodb.recordset")
sql='exec procedure 参数1、参数2……'
rs.Open sql,conn,1,1
另外,由于上面方法没办法返回记录的数量,我用了个遍历记录的循环来获取记录条数,
发觉上面<1>和<2>的情况下,都返回10条记录的话,<1>中遍历记录的时间小于1秒,<2>中遍历记录却要2秒,页面显示更加是成好几倍的关系
个人感觉:存储过程执行时间为2-3秒的情况下,Asp访问返回来的记录集(因为cell中是一个个数据显示的)的效率低的太多了,请问这是怎么回事呀?这问题迷惑了好久了,郁闷!