【发布时间】:2013-02-22 15:46:14
【问题描述】:
我有一个 SQL Server 数据库,其中包含 300.000 个数据行的表。主键和另一个键上有一个索引。我在我的独立 WCF 服务器中使用以下查询来使用 SQLConnection 和 SQLDataReader 获取数据。
SELECT * FROM Users WHERE UserTypeId = @UserTypeId ORDER BY Users.Id OFFSET
@OFFSET ROWS FETCH NEXT @NUMBER ROWS ONLY
DataReader 返回的数据被推送到我自己的类/模型中,然后由 WCF 服务器的函数返回。
WPF 客户端连接到服务器并启动命令,并且只需要 500 个数据行。但是,此任务所需的时间约为 3-4 秒。 (没有提到所有数据的时间......)
然后将返回的 List 用作 WPF Datagrid 的 DataContext。
我的问题是,我可以检查什么或可能有什么问题。如果您需要更多信息、代码示例等。请告诉我!
【问题讨论】:
-
您是否在 MS SQL 管理工作室中运行过查询?如果是这样,需要多长时间?如果运行缓慢,那么查询就是您的问题。否则,您可以使用
System.Diagnostics.Stopwatch类来衡量代码的特定部分运行所需的时间。
标签: sql-server wpf performance wcf datagrid