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

阿里云免费建站怎样做百度口碑推广自己的网站

阿里云免费建站,怎样做百度口碑推广自己的网站,互联网保险管理办法,网站建设各部门职责策划【导读】EF Core 5.0伴随着.NET 5.0发布已有一段时日#xff0c;本节我们来预估当大批量新增数据时#xff0c;大概是多少区间我们应该考虑SQLBulkCopy而不是EF CoreSQLBulkCopy早出现于.NET Framework 2.0#xff0c;将数据批量写入利用此类毫无疑问最佳#xff0c;虽其来… 【导读】EF Core 5.0伴随着.NET 5.0发布已有一段时日本节我们来预估当大批量新增数据时大概是多少区间我们应该考虑SQLBulkCopy而不是EF CoreSQLBulkCopy早出现于.NET Framework 2.0将数据批量写入利用此类毫无疑问最佳虽其来源任意但此类仅适用于SQL Server每个关系数据库都有其批量处理驱动这里我们仅仅只讨论SQL Server性能差异预估批量数据大小首先给出我们需要用到的测试模型public class User {public int Id { get; set; }public string Name { get; set; }public DateTime Birth { get; set; }public string Email { get; set; }public string Phone { get; set; } } 接下来我们则需要模拟数据为伪造实际生产数据这里我们介绍一个包Bogus此包专用来伪造数据一直在更新从未间断版本也达到32如下此包中有针对用户类的模拟具体使用这里就不详细展开我们构造一个方法来伪造指定数量的用户数据如下private IEnumerableUser GenerateUseres(int count) {var profileGenerator  new FakerUser().RuleFor(p  p.Name, v  v.Person.UserName).RuleFor(p  p.Birth, v  v.Person.DateOfBirth).RuleFor(p  p.Email, v  v.Person.Email).RuleFor(p  p.Phone, v  v.Person.Phone);return profileGenerator.Generate(count); } 有了批量伪造数据接下来我们再利用上下文去新增数据然后分别打印伪造数据和新增成功所耗费时间如下[HttpPost] public async TaskIActionResult GenerateInsert([FromQuery] int count  1000) {var s  new Stopwatch();s.Start();var users  GenerateUseres(count);var gererationTime  s.Elapsed.ToString();s.Restart();await _context.Users.AddRangeAsync(users);var insertedCount  await _context.SaveChangesAsync();return Ok(new{inserted  insertedCount,generationTime  gererationTime,insertTime  s.Elapsed.ToString()}); } 新增100条数据太小这里我们直接从批量1000条数据开始测试此时我们将看到所存储数据和实际数据完全一毛一样通过SQL Server Profiler工具监控得到如下一堆语句通过运行多次当然也和笔记本配置有关i7,6核12线程内存16G但还是可以预估批量新增1000条大概耗时为毫秒级如下接下来我们试试新增1万条看看耗时基本需要1秒如下最后我们再来试试新增十万条数据试试大概需要14秒才能完成到了这里想必我们没有必要再往上增长数据我们来看看利用SqlBulkCopy又将如何[HttpPost] public async TaskIActionResult GenerateAndInsertWithSqlBulkCopy([FromQuery] int count  1000) {var s  new Stopwatch();s.Start();var users  GenerateUseres(count);var gererationTime  s.Elapsed.ToString();s.Restart();var dt  new DataTable();dt.Columns.Add(Id);dt.Columns.Add(Name);dt.Columns.Add(Birth);dt.Columns.Add(Phone);dt.Columns.Add(Email);foreach (var user in users){dt.Rows.Add(string.Empty, user.Name, user.Birth, user.Phone, user.Email);}using var sqlBulk  new SqlBulkCopy(Server.;DatabaseEFCore;Trusted_ConnectionTrue;){DestinationTableName  Users};await sqlBulk.WriteToServerAsync(dt);return Ok(new{inserted  dt.Rows.Count,generationTime  gererationTime,insertTime  s.Elapsed.ToString()}); } 因如上利用EF Core新增时间在毫秒级那么我们则直接从新增1万条开始测试如下我们可看到此时与EF Core新增1万条数据差异耗时远远小于1秒最后我们再来测试10万条很显然EF Core耗时结果将为SqlBulkCopy的指数倍大致14倍若数据为100万想想二者其性能差异如下若继续通过SQL Server Profiler监控工具查看SQL语句很显然SQL语句会很简短据我所知SqlBulkCopy是直接将数据通过流形式传输到数据库服务器然后一次性插入到目标表中所以性能是杠杠的。利用SqlBulkCopy和EF Core 5.0当然理论上不论是EF Core更新到其他任何版本其性能与SqlBulkCopy不可同日而语本文我们只是稍加探讨下数据量达到多少时不得不考虑其他手段来处理而不是利用EF Core新增数据????  EF Core和SqlBulkCopy性能差异比较毫无疑问SqlBulkCopy为最佳选手???? 当新增数据量达到1万时若需考虑性能可采用SqlBulkCopy或其他手段处理数据而不再是EF Core二者性能差异将呈指数增长
http://www.pierceye.com/news/963047/

相关文章:

  • 网站制作视频教程全报价单模板表格
  • 包头市做网站哪个wordpress nginx伪静态规则
  • 深圳建网站哪家好专业网站建设服务包括
  • 做静态头像网站网站做百度竞价利于百度优化
  • 网站建设属于税收建立网站后怎样收费
  • 婚礼礼网站如何做的云南推广公司
  • 模板建站流程seo优化推广
  • 龙岗网络推广深圳网站建设我的世界的头怎么做视频网站
  • 高明网站建设首选公司深圳市建设安监站网站
  • 宁波网站建设科技有限公司注册开发公司
  • 什么网站有女人跟狗做的和平东路网站建设
  • 绍兴手机网站建设wordpress 文字排版
  • 宁波网站设计公司有几家企业网站建设计划书
  • 做微信小程序和网站那个简单给周杰伦做网站
  • 营销型网站建设题库网站制作里面链接怎么做
  • 做网站空间 阿里云h5下一页
  • 怎样才能在百度搜索到自己的网站网站建设制作要学什么
  • 北京网站推广排名外包河南省工程建设业协会网站
  • 桂林市电力建设公司网站野望王绩翻译
  • 网站模版免费网片生产厂家
  • 实用网站设计步骤百度竞价广告代理
  • 怎么在vk网站上做推广网站建设柚子网络科技官网
  • 威海网站优化公司wordpress post title
  • 网站建设验收期安阳后营吧
  • 询盘网站培训机构前端开发
  • 企业如何做网站建站小程序定制开发深圳
  • 创建网站怎么赚钱的视频博客主题wordpress
  • 北京大兴区网站建设如何打造平台
  • 建设公司网站需要多少天棋盘游戏类网站开发
  • 织梦网站logo修改探测器 东莞网站建设