在查询分析器里执行sql语句速度很快,但是使用dataset用相同的语句,使用rdlc报表呈现时速度很慢
已知:sql2005企业版sp4
使用事件跟踪器看到是查询时间慢,不是报表呈现慢
客户端服务器端都是如上表现有什么原因会造成如上问题?

解决方案 »

  1.   

    网络给力不?
    我也用过rdlc报表,速度还可以呀
      

  2.   

    sql:
      SELECT BusinessDate,   
             BusinessHourName,   
             DiningTableName,   
             DepartmentName,   
             FoodName,   
             FoodNo,   
             Specification,   
             Price,   
             Quantity,   
             Dues4Food,   
             OrderDatetime,   
             OrdererName,   
             FoodTypeName ,
    DepartmentNo,
    FoodTypeNo
        FROM Meal.V_AllOrderFoods 
    where 
    FoodTypeName LIKE @FoodTypeName and
    OrderDatetime between @begintime and @endtime and 
    BusinessHourNo like @businessHourNo and
    ordererNo like @ordererno
              and DiningTableNo like @tableno
              and FoodNo like @foodno
              and DiningAreaName like @DiningAreaName
    and IsCheckedOut = '1'
    Order by DepartmentNo,FoodTypeNo,FoodNo,OrderDatetime
    在dataset里新建一个datatableadapter,使用上面的sql。
    datatableadapter直接getdata(),通过对象数据源呈现在rdlc中
      

  3.   


    已经确定是查询慢,使用sql事件跟踪器跟踪了,从查询开始到结束时间长,rdlc查到数据后,呈现时,会有一个绿色的等待刷新的圈,这个时间很短
      

  4.   


    你的“查询结束”是什么概念?是指把记录全都从数据库系统导入到进程的内存中,而还没有调用rdlc的显示命令那个时间么?谁说过显示程序从内存里调用数据的时间很长呢?都是说的整体操作!整体来说,你向报表工具一次推大量记录的时间就是比报表工具它自己动态拉数据的时间长。
      

  5.   


    在sql事件监视器中看到从查询开始到查询结束时间长,是非常的长,比在查询分析器里直接执行要长很多时间这是查询分析器执行跟踪结果SQL:BatchStarting  Microsoft SQL Server Management Studio - 查询 sa 33216 56 2012-02-11 14:39:40.020
    SQL:BatchCompleted Microsoft SQL Server Management Studio - 查询 sa 844 20320 0 2268 33216 56 2012-02-11 14:39:40.020 2012-02-11 14:39:42.287
    这是报表查询执行跟踪结果Audit Login -- network protocol: TCP/IP
    set quoted_identifier on
    set arithabort off
    set numeric_roundabort off
    set ansi_warnings on
    set ansi_padding on
    set ansi_nulls on
    set concat_null_yields_null on
    set cursor_close_on_commit off
    set implicit_transactions off
    set language 简体中文
    set dateformat ymd
    set datefirst 7
    set transaction isolation level read committed
    .Net SqlClient Data Provider sa 62576 55 2012-02-11 15:03:51.160 RPC:Completed .Net SqlClient Data Provider sa 318609 26004192 1 319024 62576 55 2012-02-11 15:03:51.163 2012-02-11 15:09:10.190