我希望优化我的WCF服务。我正在使用net.tcp连接。
我有一个linq to SQL查询,它返回一个person对象的列表:
Public Function GetPeople(ByVal ChunkSize As Integer, ByVal Offset As Integer) As List(Of NG.person) Implements RiseSync.GetPeople
Dim db As New NGDataContext
Dim tmpList As New List(Of NG.person)
tmpList = (From p In db.persons Order By p.create_timestamp Descending Skip Offset Take ChunkSize).ToList()
Return tmpList
End Function
我通过WCF接口访问它,速度很慢。我是否会看到改进的性能将其全部转换为数组,或者在将其传输到管道之前将其转换为数据表?
什么是最佳做法?该查询将返回大约50k结果。
更新 编辑代码以准确显示我正在使用的内容。一些记录的原因是这是初始数据加载。我使用偏移量并将数据块分成较小的位,但总操作需要处理大约50K记录。有更好的方法吗?