码迷,mamicode.com
首页 > 其他好文 > 详细

EF批量插入数据耗时对比

时间:2018-12-01 15:06:59      阅读:447      评论:0      收藏:0      [点我收藏+]

标签:code   tostring   work   OLE   entity   adk   gen   ring   ons   

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EF批量插入
{
    class Program
    {
        static void Main(string[] args)
        {
            TestEntities test = new TestEntities();
            DateTime time1 = DateTime.Now;
            for (int i = 0; i < 10000; i++)
            {
                User user = new User();
                user.Name = "测试" + i.ToString();
                test.User.Add(user);
                test.SaveChanges();
            }
    
            DateTime time2 = DateTime.Now;
            TimeSpan ts = new TimeSpan(time1.Ticks);
            TimeSpan ts2 = new TimeSpan(time2.Ticks);
            Console.WriteLine("不批量插入:"+( ts2-ts));

            //引入Z.EntityFramework.Extensions  批量插入
            DateTime time3 = DateTime.Now;

            List<User> list = new List<User>();
            for (int i = 0; i < 10000; i++)
            {
                User user = new User();
                user.Name = "测试" + i.ToString();
                list.Add(user);
            }
            test.BulkInsert(list);
            test.SaveChanges();

            DateTime time4 = DateTime.Now;
            TimeSpan ts3 = new TimeSpan(time3.Ticks);
            TimeSpan ts4 = new TimeSpan(time4.Ticks);
            Console.WriteLine("批量插入"+(ts4 - ts3));

            Console.ReadKey();

        }
    }
}

 

 

最终结果:  单个插入用时90秒。 批量插入不到3秒

 

EF批量插入数据耗时对比

标签:code   tostring   work   OLE   entity   adk   gen   ring   ons   

原文地址:https://www.cnblogs.com/liuruitao/p/10049191.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!