av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

mysql - PHP 批量插入的時候 判斷數(shù)據(jù)表里面是否重復(fù)怎么優(yōu)化

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

問題描述

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

$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:

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

回答2:

設(shè)置聯(lián)合主鍵

回答3:

不能重復(fù)的字段加唯一索引吧

回答4:

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

相關(guān)文章:
主站蜘蛛池模板: 欧美在线视频观看 | 欧美在线观看一区 | 国产中文字幕一区 | 草草在线视频 | 国产福利视频在线观看 | 国产精品二区一区二区aⅴ污介绍 | 亚洲成人免费在线观看 | 欧美日韩一本 | 欧美日韩在线不卡 | 欧美在线免费观看视频 | 青青艹在线视频 | 国产天天操 | 成av人片一区二区三区久久 | 日韩伦理一区 | 国产精品成人免费一区久久羞羞 | 中文字幕第一区 | 国产suv一区二区 | 日韩av在线一区 | www.色中色| 国产视频一二三 | 欧美性生交xxxxx | 玖玖在线观看 | 9999精品视频 | 最新中文字幕在线观看 | 日韩一区二区免费视频 | 午夜精品一区二区三区在线播放 | a级一级片 | 欧美精品网 | 国产高清网站 | 久久久久久99精品久久久 | 亚洲第一伊人 | 免费在线小视频 | 日韩综合一区 | 伊人干综合 | 无套内谢的新婚少妇国语播放 | 欧美亚洲一区二区三区 | 伊人久久中文字幕 | 亚洲伊人色 | 999久久久久久久久6666 | 在线观看的av网站 | 色交视频 |