• 技术文章 >php教程 >php手册

    PHP: 如何把数组导入MySQL数据库

    2016-06-06 19:50:58原创767

    考虑到性能当然不能按数组元素遍历来执行插入操作。 有两个方法可供选择,一种是把数据存入csv文件,然后执行load data infile 还有一种就是类似于sql server里面的bulk insert,使用insert语句插入批量数据,结合PHP的implode函数, 可以很简单的实现大批量

    考虑到性能当然不能按数组元素遍历来执行插入操作。

    有两个方法可供选择,一种是把数据存入csv文件,然后执行load data infile

    还有一种就是类似于sql server里面的bulk insert,使用insert语句插入批量数据,结合PHP的implode函数,

    可以很简单的实现大批量数组数据的一次性插入。


    $statement = "INSERT INTO table (title, type, customer) VALUES ";
    foreach( $data as $row) {
       $statement .= ' ("' . implode($row, '","') . '")';
    }

    不过大批量数据的插入,需要注意mysql在内存上有限制:

    http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_bulk_insert_buffer_size

    bulk_insert_buffer_size变量的默认大小为8M, 是指单个线程占用的大小限制,设置为0,表示不做限制。


    参考链接:

    http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html



    by iefreer

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:PHP:分布式事务及两阶段提交方案实现思路 下一篇:php中at(
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• php中文转拼音的代码• PHP数组排序函数使用方法• 谈汉字转换类型及解决方案• 完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题• PHP5中Cookie与 Session使用详解
    1/1

    PHP中文网