加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

大数据处理中的小练习_MySql_1

发布时间:2020-12-14 03:42:47 所属栏目:大数据 来源:网络整理
导读:很久没有写点东西了,最近遇到了一些大数据处理方面的问题,做了一些总结;下面的东西呢是在Mysql中的;等有时间的时候再把sqlserver中一起发布上来,给大家做个参考,闲言少叙,下面开始; 首先在Mysql中做的测试: ?数据大小 2872条数据 10列 1.1 使用普通

很久没有写点东西了,最近遇到了一些大数据处理方面的问题,做了一些总结;下面的东西呢是在Mysql中的;等有时间的时候再把sqlserver中一起发布上来,给大家做个参考,闲言少叙,下面开始;

首先在Mysql中做的测试:

?数据大小 2872条数据 10列

1.1 使用普通的insert into ?一条条插入使用时间:40.68秒(当然insert 语句是使用生成的,做实验用的)

1.2 使用insert into (列名,列名,列名……) select …… union all select 用时:2.02秒

以上两种数据插入时的有优势,大家一眼也能看出来;

下面是c#中的实验

2.1 循环插入2872条数据用时分别:133.4679、200.5789、313.1611

2.2 使用拼接语句即:1.2中的语句 分别用时9.3213、8.3253、2.0215秒;拼接后的字符串的长度为c#中 225101;在Mysql中的长度为:284891 ;大约279KB

因为使用的是MySql.data.dll 里面有个MysqlBulkLoader类;使用这个类进行批量插入用时:0.5837、0.61993、0.69824

具体思路:{1、先将数据写入到csv文件中(我的是list所以转换成dt,写入csvz中)2、使用MySqlBulkLoader类中的tableName设置写入数据库表的名称;使用FileName设置要获取csv文件的路径(为完整路径);filedTerminator表示csv中列和列之间的间隔符,我用的逗号;调用load()方法来进行执行}

具体代码:

? ? ? ? ? ? MySql.Data.MySqlClient.MySqlBulkLoader bulkLoader = new MySql.Data.MySqlClient.MySqlBulkLoader(dbc);

? ? ? ? ? ? ? if (dbc != null && dbc.State != ConnectionState.Open) dbc.Open(); //dbc是我数据的连接类

? ? ? ? ? ? ? ?bulkLoader.TableName = "suning_provincecityandarea"; //插入的表的名字

? ? ? ? ? ? ? ?bulkLoader.FileName = filePath + fileName; //文件的完整路径;先把数据写入到csv中

? ? ? ? ? ? ? ?bulkLoader.FieldTerminator = ",";//这个地方字段间的间隔方式,为逗号

? ? ? ? ? ? ? ?int count = bulkLoader.Load();//这个地方是执行

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读