【问题标题】:c# data table batch processingc#数据表批处理
【发布时间】:2016-03-08 23:53:10
【问题描述】:

我有 20,000 行的数据表,每次处理 5000 行的最佳方法是什么? 我也想关心性能

dataTable.AsEnumerable().Skip(x).Take(y)

这样可以吗?

【问题讨论】:

标签: c# asp.net-mvc datatable


【解决方案1】:

这应该可以正常工作。 Linq 的 Skip 方法应该运行得非常快。我想这可以说取决于您的 DataRows 有多少内容,但是有 3 列我得到了几乎即时的调用:

        DataTable table = TwentyKRows();
        for (int i = 0; i < 4; i++)
        {
            DateTime before = DateTime.Now;
            var test = table.AsEnumerable().Skip(5000 * i).Take(5000);
            DateTime after = DateTime.Now;

            TimeSpan ts = after - before;
            Console.WriteLine(ts.ToString());
        }

输出:

00:00:00.0099991
00:00:00
00:00:00
00:00:00

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-03
    相关资源
    最近更新 更多