亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

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

相關文章:
主站蜘蛛池模板: 日本精品中文字幕有码 | 亚洲黄色色图 | 国产成人精品曰本亚洲78 | 国产精品爱久久久久久久小 | 搜索黄色录像 | 欧美 国产 日韩 第一页 | 在线观看亚洲一区二区 | 免费黄色片在线 | 国产成人久久777777 | 皇色在线视频 | 黑人超长巨大xxxxxx | 国产精品三级一区二区 | 国产制服在线 | 日本高清免费不卡视频 | 国产91久久精品一区二区 | 日本一本高清视频 | 在线免费观看色视频 | 午夜视频久久久久一区 | 国外b2b网站毛片 | 国产精品视频第一区二区三区 | 麻豆精品国产自产在线 | 国产一区二区三区免费看 | 经典三级第一页 | 国产成人亚洲精品影院 | 特级黄色毛片 | 一级片免费在线 | 国产亚洲视频网站 | 在线一区免费视频播放 | 国产精品免费看久久久 | 亚洲欧美高清在线 | 一级人与动毛片免费播放 | 一本色道久久综合亚洲精品加 | 欧美黄色大片 | 久青草视频97国内免费影视 | 狠狠色丁香九九婷婷综合五月 | 善良的翁熄日本2 | 亚洲第一黄色网 | 国产在线观免费观看 | 999精品久久久中文字幕蜜桃 | 狠狠色噜噜狠狠狠狠狠色综合久久 | 欧美日韩成人午夜免费 |