淺析THINKPHP的addAll支持的最大數(shù)據(jù)量
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方法可以做到批量添加數(shù)據(jù)的功能,也就是MySQL的這種用法:
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
數(shù)據(jù)量很多情況下盡量選擇批量插入而不是循環(huán)逐條插入,否則你的數(shù)據(jù)庫會吃不住掛掉。
不過如果你想當(dāng)然的將所有數(shù)據(jù)全部存入一個數(shù)組并進行addAll也同樣會面臨掛掉的情況,這是為什么呢?
原因就是mysql中max_allowed_packet變量的配置限制了上傳sql語句的長度,在mysql配置中將他配置大一點就行了
max_allowed_packet = 100M
同時在插入數(shù)據(jù)時也做好批量插入的長度限制,畢竟你不知道什么時候數(shù)據(jù)會變成百萬級別的。
以上就是本文的全部內(nèi)容了,希望小伙伴們能夠喜歡。
- PHP導(dǎo)出MySQL數(shù)據(jù)到Excel文件(fputcsv)
- php+ajax實現(xiàn)帶進度條的大數(shù)據(jù)排隊導(dǎo)出思路以及源碼
- phpadmin如何導(dǎo)入導(dǎo)出大數(shù)據(jù)文件及php.ini參數(shù)修改
- PHP實現(xiàn)實時生成并下載超大數(shù)據(jù)量的EXCEL文件詳解
- phpexcel導(dǎo)入excel處理大數(shù)據(jù)(實例講解)
- php 在線導(dǎo)入mysql大數(shù)據(jù)程序
- php+ajax導(dǎo)入大數(shù)據(jù)時產(chǎn)生的問題處理
- php 大數(shù)據(jù)量及海量數(shù)據(jù)處理算法總結(jié)
- php使用fputcsv實現(xiàn)大數(shù)據(jù)的導(dǎo)出操作詳解
相關(guān)文章
php將session放入memcached的設(shè)置方法
這篇文章主要介紹了php將session放入memcached的設(shè)置方法,需要的朋友可以參考下2014-02-02PHP靜態(tài)調(diào)用非靜態(tài)方法的應(yīng)用分析
本篇文章介紹了,PHP靜態(tài)調(diào)用非靜態(tài)方法的應(yīng)用分析。需要的朋友參考下2013-05-05PHP學(xué)習(xí)記錄之常用的魔術(shù)常量詳解
這篇文章主要介紹了PHP學(xué)習(xí)記錄之常用的魔術(shù)常量,結(jié)合實例形式總結(jié)分析了PHP魔術(shù)常量的功能、原理及常見操作技巧,需要的朋友可以參考下2019-12-12PHP新特性之字節(jié)碼緩存和內(nèi)置服務(wù)器
這篇文章主要介紹了PHP新特性之字節(jié)碼緩存和內(nèi)置服務(wù)器的相關(guān)資料,需要的朋友可以參考下2017-08-08