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

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

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

瀏覽:139日期: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

相關文章:
主站蜘蛛池模板: 日本无玛| 免费成人一级片 | 欧美一级高清黄图片 | 免费看91毛片| 国产欧美日韩高清专区手机版 | 一区二区三区 日韩 | a毛片免费 | 国产成人午夜精品5599 | 中文国产成人精品久久无广告 | 国产黄色大片网站 | 国产不卡一区二区三区免费视 | 欧美中文字幕在线看 | 97在线视频网站 | 国产在线一二三区 | 在线视频精品一区 | 男子操女子 | 亚洲视频在线观 | 99视频精品全部 在线 | 亚洲欧美成人在线 | 黄 色 免费网 站 成 人 | 亚洲 欧美 精品 中文第三 | 中文字幕在线无限2021 | 免费一级肉体全黄毛片 | 女人张开腿让男人桶免费网站 | 国产普通话一二三道 | 高清在线一区二区 | 国产欧美日韩视频在线观看一区二区 | 成人免费在线播放 | 亚洲日韩视频免费观看 | 一级毛片儿 | 精品国产三级a∨在线观看 精品国产三级a在线观看 | 亚洲成aⅴ人片在线影院八 亚洲成av人片在线观看 | 成人做爰网站免费看 | 久久99国产精品视频 | 欧美激情亚洲一区中文字幕 | 日韩在线精品视频 | 久久久久国产精品美女毛片 | 99在线免费视频 | 成人区精品一区二区毛片不卡 | 高清午夜毛片 | 午夜免费成人 |