大数据处理中的小练习_MySql_1
2014-03-02 10:48
190 查看
很久没有写点东西了,最近遇到了一些大数据处理方面的问题,做了一些总结;下面的东西呢是在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();//这个地方是执行
本文出自 “张永的博客|开发交流” 博客,请务必保留此出处http://tianle52.blog.51cto.com/1408282/1365824
首先在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();//这个地方是执行
本文出自 “张永的博客|开发交流” 博客,请务必保留此出处http://tianle52.blog.51cto.com/1408282/1365824
相关文章推荐
- Ubuntu + coreseek + python + mysql (三、通过前端html进行搜索,用python处理数据)
- MySQL对于有大量重复数据表的处理方法
- mysql数据重复处理工作
- MySQL必知必会(使用函数处理数据)
- 大数据处理例之STL实战练习
- MYsql中的数据带,如何处理
- mysql中用HEX和UNHEX函数处理二进制数据的导入导出
- MySQL初步学习4:处理大数据对象
- mysql数据脱敏处理方法
- MySQL数据入库时特殊字符处理详解
- 使用C语言访问MySQL数据 —— 连接和错误处理
- mysql 使用inet_aton和inet_ntoa处理ip地址数据
- 关于mysql处理百万级以上的数据时如何提高其查询速度的方法
- mysql大数据高并发处理
- mysql大数据高并发处理
- 关于mysql处理百万级以上的数据时如何提高其查询速度的方法
- 全面的MySQL处理重复数据代码
- MYSQL与Oracle如何处理重复数据的SQL
- mysql处理重复数据
- MySQL大数据高并发处理之-查询的优化