zoukankan      html  css  js  c++  java
  • EF批量插入数据耗时对比

    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秒

  • 相关阅读:
    java多线程小节, 总结的不错
    奇瑞风云, 你还在路上么
    android NDK 环境建立
    外企下岗白领正成为“新4050”
    搭积木
    祝MORIENTES在LIVERPOOL有所成就
    简单生活
    为什么要更新
    归去来
    随记一笔
  • 原文地址:https://www.cnblogs.com/liuruitao/p/10049191.html
Copyright © 2011-2022 走看看