您好,登錄后才能下訂單哦!
本篇內容主要講解“如何理解THINKPHP的addAll支持的最大數據量”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何理解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_packet變量的配置限制了上傳sql語句的長度,在mysql配置中將他配置大一點就行了
max_allowed_packet = 100M
同時在插入數據時也做好批量插入的長度限制,畢竟你不知道什么時候數據會變成百萬級別的。
到此,相信大家對“如何理解THINKPHP的addAll支持的最大數據量”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。