亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php大量數據入庫的處理方法

發布時間:2020-09-18 10:42:24 來源:億速云 閱讀:215 作者:小新 欄目:編程語言

php大量數據入庫的處理方法?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!

有業務需求需要一次性循環n條數據,插入或更新數據庫時,如果單純的循環,插入/更新,會消耗太多的數據庫資源

以下是一種簡單的解決方案

數據庫的insert是可以批量更新的,當有大量數據循環insert時,可以將數據先保留不執行插入命令,到最后一條時一次性插入,例如tp的addAll()方法;  

數據庫的update 如果使用case when 的話,也是可以批量更新的。

本文主要講關于批量insert;

生成一個訂單

正常情況的語句為:

INSERT INTO order (`goods_id`,`num`,`price`) VALUES (1,1,'10.00');
//封裝成函數
function add_order($goods_id,$num,$price){
$db->query("INSERT INTO order (`goods_id`,`num`,`price`) VALUES ($goods_id,$num,$price)");
}

假設有一個用戶,一次性將購物車的1000個商品結算成訂單,生成1000個訂單時;

for ($i=0;$i<1000;$i++){
$db->query("INSERT INTO order (`goods_id`,`num`,`price`) VALUES ($goods_id,$num,$price)");
}
//這樣的話會導致服務器資源占用過大,網站卡死
//所以,我們可以
$sql = "INSERT INTO order (`goods_id`,`num`,`price`) VALUES ";
for ($i=0;$i<1000;$i++){
    if($i==0){
    $sql.="($goods_id,$num,$price)";
    }else{
    $sql.=",($goods_id,$num,$price)";
    }
}
$db->query($sql);

大概意思就是這樣了,批量更新實現比較麻煩一點,就不發了,以下是批量更新的sql執行語句

UPDATE tiyan.dm_user_cupboard SET `res_id` = CASE `id` WHEN 1041 THEN '1' WHEN 1058 THEN '1' WHEN 1055 THEN '1'  END,`food_code` = CASE `id` WHEN 1041 THEN '68' WHEN 1058 THEN '47' WHEN 1055 THEN '49'  END,`food_name` = CASE `id` WHEN 1041 THEN '紅棗' WHEN 1058 THEN '蓮藕' WHEN 1055 THEN '洋蔥'  END,`num` = CASE `id` WHEN 1041 THEN '2' WHEN 1058 THEN '3' WHEN 1055 THEN '2'  END,`level` = CASE `id` WHEN 1041 THEN '2' WHEN 1058 THEN '2' WHEN 1055 THEN '2'  END,`update_time` = CASE `id` WHEN 1041 THEN '2017-12-09 21:40:06' WHEN 1058 THEN '2017-12-09 21:40:06' WHEN 1055 THEN '2017-12-09 21:40:06'  END WHERE id IN ( 1041,1058,1055 )

感謝各位的閱讀!看完上述內容,你們對php大量數據入庫的處理方法大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

惠州市| 鸡东县| 芒康县| 黄石市| 英吉沙县| 长春市| 珲春市| 天峨县| 商丘市| 长葛市| 赣榆县| 太原市| 古蔺县| 敦化市| 马尔康县| 偃师市| 阿克陶县| 开封市| 开阳县| 太仆寺旗| 南雄市| 顺平县| 岢岚县| 合川市| 加查县| 平谷区| 平舆县| 正安县| 江北区| 胶州市| 龙门县| 濮阳市| 金门县| 荣成市| 确山县| 新乡县| 凤城市| 灵武市| 沂南县| 溧水县| 高清|