当前位置: 首页 > news >正文

公司网站建设维护合同上海建设监理协会网站

公司网站建设维护合同,上海建设监理协会网站,wordpress 小清新,网站建设手机官网一. 综述 该模块主要介绍#xff1a;EF的性能优化插件Z.EntityFramework.Extensions#xff0c;该插件收费。 (一). 简介 1. 相关网站#xff1a;http://www.zzzprojects.com/ 2. 下载途径#xff1a;通过Nuget直接下载或者去官网下载(要注意更新最新版本#xff0c;可…一. 综述 该模块主要介绍EF的性能优化插件Z.EntityFramework.Extensions该插件收费。 (一). 简介 1. 相关网站http://www.zzzprojects.com/ 2. 下载途径通过Nuget直接下载或者去官网下载(要注意更新最新版本可能会过期) 3. 该程序集包括三个核心模块Bulk SaveChanges、Bulk Operations、Batch Operations (二).Bulk SaveChanges 大批量保存 1. 核心方法BulkSaveChanges 2. 该方法是在EF原有方法SaveChanges方法上的一个提升。 3. 使用方法增删改操作均使用EF自有的方式最后事务性提交数据库BulkSaveChanges代替SaveChanges 4. 工作原理与SaveChanges类似但是减少了与数据库的往返次数从而提高了性能 5. 性能测试以增加数据为例进行测试 1000条    5000条    10000条 1.606s    6.542s      21.857s 6. 可配置参数 改变这两个参数对性能影响不大 ①.BatchSize 批量提交块的大小 ②.AllowConcurrency 是否允许并发检查 (三). Bulk Operations 1. 核心方法BulkInsert(增加)、BulkDelete(删除)、BulkUpdate(修改)、BulkMerge(合并)、BulkSynchronize(同步) 其中BulkMerge(合并)、BulkSynchronize(同步)不常用这里不单独测试了。 根据传入的类型可以直接找到对应的表进行操作 2. 工作原理尽可能的减少与数据库的往返次数 3. 性能测试BulkInsert性能进行测试 1000条    5000条    10000条    40000条 1.432s    1.568s      1.554s    1.899s 4. 性能测试BulkDelete性能进行测试 1000条    5000条    10000条    40000条 1.430s    1.542s       1.540s      2.597s 5. 可配置参数 改变这两个参数对性能影响不大 ①.BatchSize 批量提交块的大小 ②.AllowConcurrency 是否允许并发检查 (四). Batch Operations (批量进行统一操作) 1. 核心方法DeleteFromQuery、UpdateFromQuery 2. 使用方法 ①. context.Customers.Where(x x.ID userId).DeleteFromQuery(); ②. context.Customers.Where(x x.ID userId).UpdateFromQuery(x new Customer {Actif false}); 3. 性能测试 DeleteFromQuery的性能测试 1000条    5000条    10000条    40000条 0.1s      0.127s   0.156s         0.490s 4. 性能测试 UpdateFromQuery的性能测试 1000条    5000条    10000条    40000条 0.120s    0.131s       0.172s      0.437s 二. 代码实战 1. 1.以增加数据为例进行测试BulkSaveChanges(测试数据条数1000,5000,10000) 1 private static void NewMethod1(DbContext db, int count)2 {3 Console.WriteLine(-------------1. 提供BulkSaveChanges方法来替代EF本身的Savechanges------------------);4 Stopwatch watch Stopwatch.StartNew();5 for (int i 0; i count; i)6 {7 TestTwo t new TestTwo();8 t.id Guid.NewGuid().ToString(N);9 t.t21 t1 i; 10 t.t22 t2 i; 11 db.SetTestTwo().Add(t); 12 } 13 14 db.BulkSaveChanges(); 15 16 //db.BulkSaveChanges(options 17 //{ 18 // options.BatchSize 1000; 19 // options.AllowConcurrency false; 20 //}); 21 watch.Stop(); 22 Console.WriteLine({0}条数据耗时{1}, count, watch.ElapsedMilliseconds); 23 } 2. 以增加为例测试BulkInsert方法(测试数据条数1000,5000,1w,4w) 1 private static void NewMethod2(DbContext db, int count)2 {3 Console.WriteLine(-------------1. 以增加为例测试BulkInsert方法(测试数据条数1000,5000,1w,4w)------------------);4 Stopwatch watch Stopwatch.StartNew();5 ListTestTwo list new ListTestTwo();6 for (int i 0; i count; i)7 {8 TestTwo t new TestTwo();9 t.id Guid.NewGuid().ToString(N); 10 t.t21 t1 i; 11 t.t22 t2 i; 12 list.Add(t); 13 } 14 15 db.BulkInsert(list); 16 17 //db.BulkInsert(list, p 18 //{ 19 // p.BatchSize 100; 20 // p.AllowConcurrency false; 21 //}); 22 watch.Stop(); 23 Console.WriteLine({0}条数据耗时{1}, count, watch.ElapsedMilliseconds); 24 } 3. 以删除为例测试BulkDelete方法(测试数据条数1000,5000,1w,4w) 1 private static void NewMethod3(DbContext db, int count) 2 { 3 Console.WriteLine(-------------2. 以删除为例测试BulkDelete方法(测试数据条数1000,5000,1w,4w)------------------); 4 Stopwatch watch Stopwatch.StartNew(); 5 ListTestTwo list db.SetTestTwo().Take(count).ToList(); 6 db.BulkDelete(list); 7 watch.Stop(); 8 Console.WriteLine({0}条数据耗时{1}, count, watch.ElapsedMilliseconds); 9 } 4. DeleteFromQuery的性能测试(测试数据条数1000,5000,1w,4w) 1   private static void NewMethod4(DbContext db, int count) 2 { 3 Console.WriteLine(-------------1. DeleteFromQuery的性能测试(测试数据条数1000,5000,1w,4w)------------------); 4 Stopwatch watch Stopwatch.StartNew(); 5 db.SetTestTwo().Where(uu.id!fk).DeleteFromQuery(); 6 7 watch.Stop(); 8 Console.WriteLine({0}条数据耗时{1}, count, watch.ElapsedMilliseconds); 9 } 5. UpdateFromQuery的性能测试(测试数据条数1000,5000,1w,4w) 1 private static void NewMethod5(DbContext db, int count)2 {3 Console.WriteLine(-------------2. UpdateFromQuery的性能测试(测试数据条数1000,5000,1w,4w)------------------);4 Stopwatch watch Stopwatch.StartNew();5 db.SetTestTwo().Where(u u.id ! fk).UpdateFromQuery(x new TestTwo { 6 t211,7 t2228 });9 10 watch.Stop(); 11 Console.WriteLine({0}条数据耗时{1}, count, watch.ElapsedMilliseconds); 12 }
http://www.huolong8.cn/news/446983/

相关文章:

  • 青岛网站优化排名临沂龙文网站建设
  • 常德行业网站网站有死链接怎么办
  • 网站主体备案唐山丰南建设局网站
  • 网站网速慢网络软文
  • 浏览器怎么设置不拦截任何网站电商主题wordpress
  • 海口网络平台网站开发东莞大岭山核酸检测点
  • 凡科网可以自己做网站吗商务网站如何推广
  • 想在网上做设计接单有没有网站dede手机医院网站模板下载
  • 做网站 就电商培训视频教程
  • 用vs2013做网站asp网站安全怎么做
  • 安全联盟这种网站建设网站制作教程百度云
  • 网站开发相关北京网站优化效果
  • 网站建设劳务合同价格低的自动挡汽车
  • 做企业网站一般要多少钱wordpress增加产品
  • 河南监理建设协会网站网站怎么做网页
  • 江门h5模板建站域名网址申请流程
  • 门户网站如何建设如何使用表格做网站
  • 扁平化设计网站 国内功能型网站案例
  • 新站网站收录减少做网站需要看的书
  • 微商网站如何做推广方案网络营销推广策划方案书
  • 了解深圳网站页面设计网站设计有创意的主题
  • 网站实名认证国外做的好的电商网站推荐
  • 衡阳网站开发培训做救助流浪动物网站的产生背景
  • 企业网站后台投资网站怎么做
  • 顺德网站建设策划google seo 优化招聘
  • 扬州网站建设外包深圳百度推广优化
  • 公司flash网站模板站长之家 网站模板
  • 建站公司没前端网易云音乐网页版
  • 保定网站建设找谁网站建设方案范文2000字
  • 福永网站建设公司哪家好做网站开发用什么软件