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中
在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
我也用过rdlc报表,速度还可以呀
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中
已经确定是查询慢,使用sql事件跟踪器跟踪了,从查询开始到结束时间长,rdlc查到数据后,呈现时,会有一个绿色的等待刷新的圈,这个时间很短
你的“查询结束”是什么概念?是指把记录全都从数据库系统导入到进程的内存中,而还没有调用rdlc的显示命令那个时间么?谁说过显示程序从内存里调用数据的时间很长呢?都是说的整体操作!整体来说,你向报表工具一次推大量记录的时间就是比报表工具它自己动态拉数据的时间长。
在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