100W的数据对于很多朋友来说算小菜了,但今天我就想到创建一个大量数据的测试环境,于是找了一下怎么插入100W条数据,我用的是20个字段。对比一下,首先是用 mysql 的存储过程弄的
100w的数据对于很多朋友来说算小菜了,但今天我就想到创建一个大量数据的测试环境,于是找了一下怎么插入100w条数据,我用的是20个字段。对比一下,首先是用 的存储过程弄的:
| 代码如下 | 复制代码 |
|
mysql>delimiter $ mysql> create procedure test() mysql>delimiter ; mysql> call test; |
|
结果我们看了用了58分钟,这也太费时差了吧
mysql> call test;
Query OK, 0 rows affected (58 min 30.83 sec)
非常耗时。
于是我又找了一个方法
先用PHP代码生成数据,再导入:
EasySitePM Enterprise3.5系统是一款适用于不同类型企业使用的网站管理平于,它具有多语言、繁简从内核转换、SEO搜索优化、图片自定生成、用户自定界面、可视化订单管理系统、可视化邮件设置、模板管理、数据缓存+图片缓存+文件缓存三重提高访问速度、百万级数据快速读取测试、基于PHP+MYSQL系统开发,功能包括:产品管理、文章管理、订单处理、单页信息、会员管理、留言管理、论坛、模板管
| 代码如下 | 复制代码 |
|
$sql="268t2t'0,262,268,'t0t '2342't'423423't'123123't'23423423't'2012-01-09 09:55:43't'upload/product/20111205153432_53211.jpg't'upload/product/thumb_20111205153432_53211.jpg'tNULLtNULLt38t'件't''t123t123t0"; |
|
然后再导入
| 代码如下 | 复制代码 |
| LOAD DATA local INFILE 'e:/insert.sql' INTO TABLE tenmillion(`categ_id`, `categ_fid`, `SortPath`, `address`, `p_identifier`, `pro_specification`, `name`, `description`, `add_date`, `picture_url`, `thumb_url`, `shop_url`, `shop_thumb_url`, `brand_id`, `unit`, `square_meters_unit`, `market_price`, `true_price`, `square_meters_price`); | |
结果不到1分钟,100万的数据就快速的导入了,
注意字段不再以逗号分割,以t分割,条记录以rn分割。结果我插入10次数据,100W平均只要1分钟搞定。
总结,在大数据量处理时我们最好利用第三方插件一实现数据备份或直接在服务器上进行备份,用mysql自带的工具有时确实不理想。









