淺析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ù)庫會吃不住掛掉。
不過如果你想當然的將所有數(shù)據(jù)全部存入一個數(shù)組并進行addAll也同樣會面臨掛掉的情況,這是為什么呢?
原因就是mysql中max_allowed_packet變量的配置限制了上傳sql語句的長度,在mysql配置中將他配置大一點就行了
max_allowed_packet = 100M
同時在插入數(shù)據(jù)時也做好批量插入的長度限制,畢竟你不知道什么時候數(shù)據(jù)會變成百萬級別的。
以上就是本文的全部內(nèi)容了,希望小伙伴們能夠喜歡。
- PHP導出MySQL數(shù)據(jù)到Excel文件(fputcsv)
- php+ajax實現(xiàn)帶進度條的大數(shù)據(jù)排隊導出思路以及源碼
- phpadmin如何導入導出大數(shù)據(jù)文件及php.ini參數(shù)修改
- PHP實現(xiàn)實時生成并下載超大數(shù)據(jù)量的EXCEL文件詳解
- phpexcel導入excel處理大數(shù)據(jù)(實例講解)
- php 在線導入mysql大數(shù)據(jù)程序
- php+ajax導入大數(shù)據(jù)時產(chǎn)生的問題處理
- php 大數(shù)據(jù)量及海量數(shù)據(jù)處理算法總結
- php使用fputcsv實現(xiàn)大數(shù)據(jù)的導出操作詳解
相關文章
PHP靜態(tài)調(diào)用非靜態(tài)方法的應用分析
本篇文章介紹了,PHP靜態(tài)調(diào)用非靜態(tài)方法的應用分析。需要的朋友參考下2013-05-05

