午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

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

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

相關文章:
主站蜘蛛池模板: 超碰夜夜 | 欧美成人精品一区二区三区 | 爱爱视频网址 | 六月婷婷av | 亚洲色图视频在线观看 | 国产黄色在线免费观看 | 福利社午夜影院 | 99热综合| 久热亚洲| 日本aⅴ在线 | 69激情网 | 国产欧美日韩在线视频 | 亚洲欧美国产一区二区三区 | 欧美激情成人 | www.黄色片 | 亚洲一区二区三区在线播放 | 男女同房做爰123 | 亚洲女同一区二区 | 久久久久婷婷 | 青青草在线免费视频 | 日本不卡一区二区三区四区 | 久久午夜国产精品 | 麻豆国产91在线播放 | 日韩美女免费视频 | av资源网在线观看 | 亚洲系列在线观看 | 国产视频网站在线观看 | 欧美性猛交99久久久久99按摩 | 日韩av网址在线观看 | 特级做a爱片免费69 欧美色图自拍 | 九九国产精品视频 | 欧美黄色三级 | 亚洲性在线 | 天天干妹子 | av毛片在线免费观看 | 在线观看国产91 | 一区二区三区在线播放 | 69精品久久久久久 | 天天综合精品 | www.五月天婷婷 | 日本wwwwwww|