WCF连接速度很慢 - WPF客户端是问题还是SQL查询?

时间:2013-02-22 15:46:14

标签: sql-server wpf performance wcf datagrid

我有一个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。

我的问题是,我可以检查什么或可能出错。如果您需要更多信息,CodeSamples等。请告诉我!

1 个答案:

答案 0 :(得分:0)

首先,不要使用select *,而是从表格中指定您想要的字段。现在您将获得不需要的数据,例如您已知道所有记录的UserTypeId字段。

然后,您可以创建包含UserTypeIdId的覆盖索引,并且您希望从查询中返回包含字段的任何其他字段。这样,数据库就可以单独对索引运行查询,而不必从实际表中读取任何内容。