浅析THINKPHP的addAll支持的最大数据量_php实例

Thinkphp中的Model操作有两个方法:add()和addAll

复制代码 代码如下:

 $User = M("User"); // 实例化User对象
 $data['name'] = 'ThinkPHP';
 $data['email'] = 'ThinkPHP@gmail.com';
 $User->add($data);
 $dataList[] = array('name'=>'thinkphp','email'=>'thinkphp@gamil.com');
 $dataList[] = array('name'=>'onethink','email'=>'onethink@gamil.com');
 $User->addAll($dataList);

addAll方法可以做到批量添加数据的功能,也就是MySQL的这种用法:

复制代码 代码如下:

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

同时在插入数据时也做好批量插入的长度限制,毕竟你不知道什么时候数据会变成百万级别的。

以上就是本文的全部内容了,希望小伙伴们能够喜欢。

时间: 2024-11-01 16:55:05

浅析THINKPHP的addAll支持的最大数据量_php实例的相关文章

浅析ThinkPHP中execute和query方法的区别_php实例

初学ThinkPHP的时候,很多人都对execute()和query()方法的区别搞不懂,本文就此浅析二者的区别.大家都知道,ThinkPHP中execute()和query()方法都可以在参数里直接输入SQL语句.但是不同的是execute()通常用来执行insert或update等SQL语句,而query常用来执行select等语句. execute()方法将返回影响的记录数,如果执行SQL的select语句的话,返回的结果将是表的总记录数: 复制代码 代码如下: $model = M( "

ThinkPHP快速入门实例教程之数据分页_php实例

数据分页可能是web编程里最常用到的功能之一.ThinkPHP实现分页功能十分简洁.只需要定义几个参数就可以实现.并且扩展也十分方便. 下面让我们从零开始实现ThinkPHP的分页程序吧. 1.首先,我们得创建一个用于分页测试的数据库 test.sql代码如下. CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL auto_increment, `name` char(100) NOT NULL, `content` varchar(300)

浅析ThinkPHP中的pathinfo模式和URL重写_php技巧

复制代码 代码如下: http://serverName/appName/module/action/id/1/ 这个就是pathinfo模式 在不考虑路由的情况下,第一个参数会被解析成模块名称(如果启用了分组的话,则依次往后递推),第二个参数会被解析成操作,后面的参数是显式传递的,而且必须成对出现,例如: 复制代码 代码如下: http://serverName/appName/module/action/year/2008/month/09/day/21/ 通常的URL里面含有index.p

ThinkPHP CURD方法之where方法详解_php实例

ThinkPHP CURD操作的查询方法中最常用但也是最复杂的就是where方法.where方法也属于模型类的连贯操作方法之一,主要用于查询和操作条件的设置. where方法的用法是ThinkPHP查询语言的精髓,也是ThinkPHP ORM(对象关系映射)的重要组成部分和亮点所在,可以完成包括普通查询.表达式查询.快捷查询.区间查询.组合查询在内的查询操作.where方法的参数支持字符串和数组,虽然也可以使用对象但并不建议. 1.字符串条件 使用字符串条件直接查询和操作,例如: $User =

ThinkPHP CURD方法之field方法详解_php实例

ThinkPHP CURD方法的field方法属于模型的连贯操作方法之一,主要目的是标识要返回或者操作的字段,可以用于查询和写入操作. 1.用于查询 在查询操作中field方法是使用最频繁的. $Model->field('id,title,content')->select(); 这里使用field方法指定了查询的结果集中包含id,title,content三个字段的值.执行的SQL相当于: SELECT id,title,content FROM table 当然,除了select方法之外

ThinkPHP 连接Oracle数据库的详细教程[全]_php实例

一. 操作环境搭建 系统:Windows7 旗舰版 64位PHP环境:wampserver2.2e-php5.4.3-httpd2.2.22-mysql5.5.24  32位版下载地址:http://www.wampserver.com/en/ ThinkPHP:3.0正式版下载地址:http://thinkphp.cn/down.html Oracle:Orcale_11gR2  32位版下载地址:http://www.oracle.com/technetwork/cn/indexes/dow

ThinkPHP CURD方法之page方法详解_php实例

ThinkPHP CURD方法的page方法也是模型连贯操作方法之一,是完全为分页查询而诞生的一个人性化操作方法. 用法 我们在前面已经分析了关于limit方法用于分页查询的情况,而page方法则是更人性化的进行分页查询的方法,我们还是以文章列表分页为例来说,如果使用limit方法,我们要查询第一页和第二页(假设我们每页输出10条数据)写法如下: $Article = M('Article'); $Article->limit('0,10')->select(); // 查询第一页数据 $Ar

ThinkPHP模版引擎之变量输出详解_php实例

本文实例分析了ThinkPHP模版引擎中变量输出的用法.分享给大家供大家参考.具体分析如下: 我们已经知道了在Action中使用assign方法可以给模板变量赋值,赋值后怎么在模板文件中输出变量的值呢? 如果我们在Action中赋值了一个name模板变量: 复制代码 代码如下: $name = 'ThinkPHP'; $this->assign('name',$name); 使用内置的模板引擎输出变量,只需要在模版文件使用: {$name} 模板编译后的结果就是 复制代码 代码如下: <?ph

ThinkPHP连接数据库及主从数据库的设置教程_php实例

本文较为详细的讲述了ThinkPHP连接数据库及主从数据库的设置方法,在ThinkPHP项目开发中非常实用.具体实现方法如下: 一.项目根目录上建立config.php 代码如下所示: <?php if(!defined('THINK_PATH')) exit(); return array( 'DB_TYPE' => 'mysql',// 数据库类型 'DB_HOST' => 'localhost',// 主机 'DB_NAME' => 'aoli',// 数据库名称 'DB_U