国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

mysql - PHP 批量插入的時候 判斷數據表里面是否重復怎么優化

瀏覽:115日期:2022-06-13 14:00:45

問題描述

場景:從第三方接口獲取到數據 比如 獲取到了 500 條,然后批量插入到表,但是要保證唯一。代碼如果是這樣的(name 字段有索引的情況下怎么才能最大化的優化),這樣的結果是有500次的I/O 這個邏輯怎么優化最佳呢;這里還有個場景如果當這 500條插入成功后馬上進行二次查詢第三方接口然后再批量插入,主要是考慮到第二種情況:

$datas = [];$Apps = new Apps();foreach ($lists as $k=>$v){ $name = $v[’name’]; $res = $Apps->where([’name’ => $name])->field(’name’)->find(); //如果沒有記錄 if (empty($res)){$datas[] = [’name’ => $name]; }}if (empty($datas)){ //批量插入 $Apps->saveAll($datas);}

問題解答

回答1:

保證唯一放在數據庫那邊處理,設置個unique就好了吧。這個不需要PHP來處理。

回答2:

設置聯合主鍵

回答3:

不能重復的字段加唯一索引吧

回答4:

首先對該字段加唯一索引,然后SQL改成這樣,?INSERT INTO xx (yy)VALUES(?) ON DUPLICATE KEY UPDATE yy=?但唯一鍵出現重復時更新字段,也可以忽略重復,對重復的行不做修改INSERT IGNORE INTO

相關文章:
主站蜘蛛池模板: 夜夜躁狠狠躁日日躁2021 | 国产一二三区在线 | 久草亚洲视频 | 日韩一级免费毛片 | 一区二区国产在线播放 | 欧美成人精品在线 | 久久精品国产三级不卡 | 亚洲在线免费观看 | 99re9精品视频在线 | 高清偷自拍第1页 | 久久久久久综合一区中文字幕 | 九九精品免费视频 | 国产一区二区三区四区波多野结衣 | 乱淫毛片 | 99视频在线免费 | 国产a精品 | 在线精品国产成人综合第一页 | 免费视频久久看 | 国产精品91av | 欧美性xxxx极品高清 | 久久九九色 | 亚洲国产精品网 | 孕妇交 | 亚洲欧美一区二区三区不卡 | 毛片网站大全 | 亚洲天堂欧美 | 韩国免费网站成人 | 五月六月伊人狠狠丁香网 | 国产一区二区在线不卡 | 精品国产亚洲一区二区三区 | 国产精品女上位在线观看 | 毛片视频网址 | 在线a网站 | 久草资源在线观看 | 国产亚洲精品国产第一 | 国产一区二区免费不卡在线播放 | 国产成人精品亚洲77美色 | 美女张开腿给人网站 | 国产欧美另类久久久品 | 韩国免费毛片在线看 | 狠狠色综合色综合网站久久 |