首頁 >後端開發 >php教程 >THINKPHP的addAll支持的最大數據量的分析

THINKPHP的addAll支持的最大數據量的分析

不言
不言原創
2018-06-08 15:48:511758瀏覽

這篇文章主要介紹了THINKPHP的addAll支援的最大資料量,需要的朋友可以參考下

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_pa​​cket變數的配置限制了上傳sql語句的長度,在mysql配置中將他配置大一點就行了

max_allowed_pa​​cket = 100M

#同時在插入資料時也做好批量插入的長度限制,畢竟你不知道什麼時候資料會變成百萬等級的。

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關建議:

ThinkPHP3.2框架使用addAll()批次插入資料的方法

以上是THINKPHP的addAll支持的最大數據量的分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn