时时商务社区

标题: 浅析THINKPHP的addAll支持的最大数据量 [打印本页]

作者: wx_pylelnL4    时间: 2018-2-14 05:49

            Thinkphp中的Model操作有两个方法:add()和addAll
[U]复制代码[/U] 代码如下:
$User = M("User"); // 实例化User对象
$data['name'] = 'ThinkPHP';
$data['email'] = [url=mailto:'ThinkPHP@gmail.com']'ThinkPHP@gmail.com'[/url];
$User->add($data);
$dataList[] = array('name'=>'thinkphp','email'=>'thinkphp@gamil.com');
$dataList[] = array('name'=>'onethink','email'=>'onethink@gamil.com');
$User->addAll($dataList);
addAll方法可以做到批量添加数据的功能,也就是MySQL的这种用法:
[U]复制代码[/U] 代码如下:
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
数据量很多情况下尽量选择批量插入而不是循环逐条插入,否则你的数据库会吃不住挂掉。
不过如果你想当然的将所有数据全部存入一个数组并进行addAll也同样会面临挂掉的情况,这是为什么呢?
原因就是mysql中max_allowed_packet变量的配置限制了上传sql语句的长度,在mysql配置中将他配置大一点就行了
max_allowed_packet = 100M
同时在插入数据时也做好批量插入的长度限制,毕竟你不知道什么时候数据会变成百万级别的。
以上就是本文的全部内容了,希望小伙伴们能够喜欢。
            
            
您可能感兴趣的文章:
  • ThinkPHP实现批量删除数据的代码实例
  • ThinkPHP写数组插入与获取最新插入数据ID实例
  • 基于ThinkPHP实现批量删除
  • thinkphp框架实现删除和批量删除
  • Thinkphp批量更新数据的方法汇总
  • thinkphp3.2.3版本的数据库增删改查实现代码
  • thinkPHP批量删除的实现方法分析
  • thinkPHP数据库增删改查操作方法实例详解
  • 基于thinkPHP类的插入数据库操作功能示例
  • thinkPHP数据查询常用方法总结【select,find,getField,query】
  • ThinkPHP3.2框架使用addAll()批量插入数据的方法
            




    欢迎光临 时时商务社区 (http://bbs.4435.cn/) Powered by Discuz! X3.2