Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net take n行和skip m行实体框架存在问题_.net_Entity Framework_Entity Framework 4 - Fatal编程技术网

.net take n行和skip m行实体框架存在问题

.net take n行和skip m行实体框架存在问题,.net,entity-framework,entity-framework-4,.net,Entity Framework,Entity Framework 4,我正在从数据库(约130000行)计算数据 由于行的数量很大,我选择了1百万行,计算它们,保存结果,然后再选择1百万行,以此类推 我使用select。。订货人。。跳过m。。。取n…ToList() 因为我想在内存中保存这些对象 当我跳过1百万然后2百万然后3百万。。。然后让我们说6百万,这很好,但突然查询需要很长时间 你也有同样的问题吗 有什么办法可以让它工作得更快吗 谢谢你的帮助, 再见您可以使用Rowcount,但我不知道这在实体框架中是否适用 这样,您可以选择Rowcount()>2 00

我正在从数据库(约130000行)计算数据

由于行的数量很大,我选择了1百万行,计算它们,保存结果,然后再选择1百万行,以此类推

我使用select
。。订货人。。跳过m。。。取n…ToList()

因为我想在内存中保存这些对象

当我跳过1百万然后2百万然后3百万。。。然后让我们说6百万,这很好,但突然查询需要很长时间

你也有同样的问题吗

有什么办法可以让它工作得更快吗

谢谢你的帮助,
再见

您可以使用Rowcount,但我不知道这在实体框架中是否适用

这样,您可以选择Rowcount()>2 000 000,然后选择(1 000 000)

或者,如果您有一个ID列,并且正在按顺序进行遍历,请向where for ID>last processed ID添加一个条件


这应该比skip快,如果查看生成的SQL,就会发现问题所在。SQL Server没有本机跳过,因此实体框架会临时解决这一问题


为了有效地执行此操作,您需要使用不同的方法对数据进行分区,该方法可以由服务器使用索引来实现。在不了解更多有关该问题的信息的情况下,我无法说出最好的方法,但可以寻找一种划分数据的方法,这些数据可以在SQL查询中索引。

Skip
已经进行了行计数。这正是问题所在。在这么大的表上,行数很慢。我想创建一个网络,其中顶点是用户,边是连接(如果有人打电话给另一个用户,则边值会增加)。在一行中,我查看UserAId UserBid和一些其他详细信息。我需要处理每一行来填充数据,这是效率的问题