mysql有没有BCP批量导入的方式 比如大量数据直接 bcp导入肯定效率猛增.以前我用sqlserver有.mysql 有没有呢, 然后, mysql 的这个bcp方式有没有可以方便程序调用的接口? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 MYSQL中有SQL语句 select .... INTO OUTFILE 'file_name' export_options 在WINDOWS的命令下你可以直接c:\xx\dd\ss\mysql.exe -uroot -p1234 db1 -e "SELECT * INTO OUTFILE 'data.txt';" select * into outfile 'aa.txt'fields terminated by ','from tb; 谢谢LSdata.txt 有严格的格式 要求吗?比如:针对 id,name,desc,value,date 等几列. 这个txt的格式可不可以是: 12,飞机,飞机很大,100010,2012-06-09 12:22:12 333另外,如果我用一次提交几千条sql语句的方式来进行批量导入 要比bcp的方式慢多少呢?另外, 这个 data.txt 作为一个参数写在那个bcp语句的后面 也相当于命令mysql自己去打开这个文件,并且把文件内的内容直接导入到数据库. 但其实这样完全是浪费IO操作. 我程序还得写规定格式的txt文件到指定目录,然后再启动线程循环的把data.txt通过bcp提交到mysql.有没有什么办法能够 绕过那个写文件的IO操作,而把 程序内存里面的data不用存储成data.txt而直接导入数据库呢.而且还要求有bcp这么快. 快是肯定的 但是不会猛增的load data '/home/123.txt' into table tbname(coun1,coun2) MYSQL中目前只有这个方法,因为MYSQL的数据文件格式并不由MYSQL自身来定义,可以安装任何存储引擎。 谢谢, 大致知道了.------------------另外,如果我用一次提交几千条sql语句的方式来进行批量导入 要比bcp的方式慢多少呢?这个有个大概的量化标准吗?比如我用java的PreparedStatement.addBatch() 然后再executeBatch()这样的话 实际应该是等效于 一次请求 N 条insert 语句. -- 应该能比 for循环执行 一条条请求要快. (但本身是连接池 所以应该也快不到哪去.)而我是问,这样批量提交的N条insert语句 如果换为 bcp 方式的话 究竟要快多少呢?因为理论上来说: java 自己去写磁盘IO 代价很小. 然后BCP把磁盘上的txt导入进mysql代价也不大.但这2者加起来的总消耗 究竟会比 批量提交 insert 快半分之多少呢? 参见MySQL手册:7.2.19. Speed of INSERT Statements 将记录存入TXT 文件,用LOAD DATA INIFILE导入 大家来评论一下这个数据库设计的是否合理 mysql avg(currentPrice)如何取两位小数。 MYSQL事件为什么会这样? Mysql数据库主键是uuid如何插入数据 个人博客数据库开发 Rowid_Mysql 环境取数,通过什么方式缔造一个rowid之类的东西呢? 如何建一个表,并且限制这个表的记录只能输入N条?谢谢 ̄! 世界国家、地区(城市)的数据库 大表数据匹配问题 在phpMyAdmin中用like模糊查询时会多查出一些结果(mysql)怎么办 mysql数据库查询统计 mysql查询结果返回XML格式 类似for xml
select .... INTO OUTFILE 'file_name' export_options
fields terminated by ','
from tb;
针对 id,name,desc,value,date 等几列.
这个txt的格式可不可以是: 12,飞机,飞机很大,100010,2012-06-09 12:22:12 333另外,如果我用一次提交几千条sql语句的方式来进行批量导入 要比bcp的方式慢多少呢?另外, 这个 data.txt 作为一个参数写在那个bcp语句的后面 也相当于命令mysql自己去打开这个文件,并且把文件内的内容直接导入到数据库. 但其实这样完全是浪费IO操作. 我程序还得写规定格式的txt文件到指定目录,然后再启动线程循环的把data.txt通过bcp提交到mysql.有没有什么办法能够 绕过那个写文件的IO操作,而把 程序内存里面的data不用存储成data.txt而直接导入数据库呢.而且还要求有bcp这么快.
load data '/home/123.txt' into table tbname(coun1,coun2)
------------------
另外,如果我用一次提交几千条sql语句的方式来进行批量导入 要比bcp的方式慢多少呢?这个有个大概的量化标准吗?比如我用java的PreparedStatement.addBatch() 然后再executeBatch()
这样的话 实际应该是等效于 一次请求 N 条insert 语句. -- 应该能比 for循环执行 一条条请求要快. (但本身是连接池 所以应该也快不到哪去.)而我是问,这样批量提交的N条insert语句 如果换为 bcp 方式的话 究竟要快多少呢?因为理论上来说: java 自己去写磁盘IO 代价很小. 然后BCP把磁盘上的txt导入进mysql代价也不大.但这2者加起来的总消耗 究竟会比 批量提交 insert 快半分之多少呢?