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

wordpress网站的彻底清理房地产活动策划网站

wordpress网站的彻底清理,房地产活动策划网站,网站建设主题怎么定,关于做网站的书一. 简介 1. 背景#xff1a; 虽然前面EF的扩展插件Z.EntityFramework.Extensions#xff0c;性能很快#xff0c;而且也很方便#xff0c;但是该插件要收费#xff0c;使用免费版本的话#xff0c;需要定期更新#xff0c;如果不更新#xff0c;将失效#xff0c;非…一. 简介 1. 背景 虽然前面EF的扩展插件Z.EntityFramework.Extensions性能很快而且也很方便但是该插件要收费使用免费版本的话需要定期更新如果不更新将失效非常麻烦这个时候SqlBulkCopy类既免费又高效显得非常合适了。 2. 使用步骤 ①. 引入命名空间:using System.Data.SqlClient; ②. 使用DataTable构造与目标数据库表结构相同的字段并给其赋值。 ③. 使用SqlBulkCopy类将内存表中的数据一次性插入到目标表中。(看下面的封装可知可以自行设置插入块的大小) 补充调用下面的封装这种形式必须内存表中的字段名和数据库表中的字段名一一对应。 二. 使用方式及其性能测试 1.  涉及到的数据库结构 2. 数据库连接字符串  add nameCodeFirstModel2 connectionStringdata sourcelocalhost;initial catalogEFDB2;persist security infoTrue;user idsa;password123456;MultipleActiveResultSetsTrue;AppEntityFramework providerNameSystem.Data.SqlClient / 3. 代码实践 有两种插入方式一种是按部就班的每个字段 内存表和数据表进行映射这个情况无须名称一致只要映射正确即可。另外一种方式是直接调用下面的封装方法即可这种要求内存表中字段和数据库表中的字段名称必须完全一致一一对应这样就省去了方法一 中一一匹配映射的繁琐步骤了。 1 public class SqlBulkCopyTest2 {3 public static void TestSqlBulkCopy()4 {5 //一. 构造DataTable结构并且给其赋值6 //1.定义与目标表的结构一致的内存表 排除自增id列 7 DataTable dtSource new DataTable();8 //列名称如果和目标表设置为一样则后面可以不用进行字段映射 9 dtSource.Columns.Add(id); 10 dtSource.Columns.Add(t21); 11 dtSource.Columns.Add(t22); 12 //2. 向dt中增加4W条测试数据 13 DataRow dr; 14 for (int i 0; i 40000; i) 15 { 16 // 创建与dt结构相同的DataRow对象 17 dr dtSource.NewRow(); 18 dr[id] Guid.NewGuid().ToString(N); 19 dr[t21] Name i; 20 dr[t22] Address i; 21 // 将dr追加到dt中 22 dtSource.Rows.Add(dr); 23 } 24 //二.将内存表dt中的4W条数据一次性插入到t_Data表中的相应列中 25 System.Diagnostics.Stopwatch st new System.Diagnostics.Stopwatch(); 26 st.Start(); 27 string connStr ConfigurationManager.ConnectionStrings[CodeFirstModel2].ToString(); 28 29 #region 01-按部就班一一对应 30 //{ 31 // using (SqlBulkCopy copy new SqlBulkCopy(connStr)) 32 // { 33 // //1 指定数据插入目标表名称 34 // copy.DestinationTableName TestTwo; 35 36 // //2 告诉SqlBulkCopy对象 内存表中的 字段和目标表中的字段 对应起来(这里有多个重载也可以用索引对应) 37 // //前面是内存表后面是目标表即数据库中的字段 38 // copy.ColumnMappings.Add(id, id); 39 // copy.ColumnMappings.Add(t21, t21); 40 // copy.ColumnMappings.Add(t22, t22); 41 42 // //3 将内存表dt中的数据一次性批量插入到目标表中 43 // copy.WriteToServer(dtSource); 44 // } 45 //} 46 47 #endregion 48 49 #region 02-调用封装 50 { 51 AddByBluckCopy(connStr, dtSource, TestTwo); 52 } 53 #endregion 54 55 st.Stop(); 56 Console.WriteLine(数据插入成功总耗时为: st.ElapsedMilliseconds 毫秒); 57 58 } 59 60 /// summary 61 /// 海量数据插入方法 62 /// (调用该方法需要注意DataTable中的字段名称必须和数据库中的字段名称一一对应) 64 /// /summary 65 /// param nameconnectstring数据连接字符串/param 66 /// param nametable内存表数据/param 67 /// param nametableName目标数据的名称/param 68 public static void AddByBluckCopy(string connectstring,DataTable table, string tableName) 69 { 70 if (table ! null table.Rows.Count 0) 71 { 72 using (SqlBulkCopy bulk new SqlBulkCopy(connectstring)) 73 { 74 bulk.BatchSize 1000; 75 bulk.BulkCopyTimeout 100; 76 bulk.DestinationTableName tableName; 77 bulk.WriteToServer(table); 78 } 79 } 80 } 81 } 4. 性能测试的结论 根据上述的数据测试可以看出来SqlBulkCopy在处理大数据量插入上速度非常快甚至比付费的插件Z.EntityFramework.Extensions都要快所以值得参考和推荐。 既然SqlBulkCopy解决大数据量的插入问题那么删除和更新怎么办呢 详见  第二十三节: EF性能篇(三)之基于开源组件 Z.EntityFrameWork.Plus.EF6解决EF性能问题
http://wiki.neutronadmin.com/news/360264/

相关文章:

  • 建设定制网站wordpress首页调用所有分类
  • 制作网站第一步个人备案的网站可以做商城
  • 网站建设div设置圆角冒险岛钓鱼网站做啥用
  • 做ppt介绍网站吗南京广告制作公司
  • 上海网站建设哪lnmp怎么做网站
  • 鹰眼智能营销系统lnmp wordpress优化
  • 谷歌网站怎么做排名丹江口市建设局网站
  • 文化体育局网站建设免费软件的特征
  • 学做网站论坛教学视频下载国家企业信息网官网
  • 百度SEO是谁做的网站旅游网站内容规划
  • 阿克苏网站建设价格天津做宠物饲料的网站
  • 德州seo排名seo关键词排名优化官网
  • 用二级页面做网站的源代码网站建设需求调研过程
  • 北京网站优化厂家华天动力oa系统
  • 电子商务网站建设资讯做本地网站
  • 佛山格尔做网站的公司wordpress 修改样式
  • 怎么自己做优惠券网站外包公司设计完网站谁负责运营
  • 鸿扬家装网站建设免费域名证书申请
  • 公司网站案例展示自动化设计网站建设
  • wordpress添加备案信息长沙网站搭建seo
  • 怎么在手机上做网站网站建设后的心得
  • 个人单页网站怎样做网站排名
  • 商城网站建设天软科技网站基本建设的原理
  • 个人网站备注模板wordpress 百度统计
  • 公司网站建设 wordpress模板的网站都有哪些
  • 青岛网站建设方案书网站设计与网页制作心得体会
  • 专门做外贸网站有哪些金山品牌网站建设
  • wap文字游戏搭建教程郑州seo代理商
  • 手机网站主页推荐网站放到iis如何做指向
  • 美妆网站模版wordpress调用标签代码在线