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

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

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

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

問題描述

場景:從第三方接口獲取到數(shù)據(jù) 比如 獲取到了 500 條,然后批量插入到表,但是要保證唯一。代碼如果是這樣的(name 字段有索引的情況下怎么才能最大化的優(yōu)化),這樣的結(jié)果是有500次的I/O 這個邏輯怎么優(yōu)化最佳呢;這里還有個場景如果當(dāng)這 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:

保證唯一放在數(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)文章:
主站蜘蛛池模板: www.男人天堂| 婷婷色中文网 | 黑人巨大猛烈捣出白浆 | 成人黄色免费在线观看 | 成人片在线播放 | 国产视频一级 | 正在播放一区二区 | 男女瑟瑟 | 91精品视频在线 | 日韩av中文字幕在线播放 | 亚洲一区二区在线播放 | 国产三级午夜理伦三级 | 国产三级av在线播放 | 精品国产一区二区三区久久久蜜臀 | 成年人在线视频观看 | 综合久久中文字幕 | 国产精品第三页 | 国产黄色在线观看 | 伊人网在线 | 国产女人18毛片18精品 | 六月综合网 | 四虎在线观看视频 | 色伊人影院 | 国产三级三级在线观看 | 成人h网站 | 欧美国产片 | 成人不卡视频 | 日本三级久久久 | 亚洲视频欧洲视频 | 色超碰| 一区二区三区四区五区在线 | 小明永久2015xxx免费看视频 | 深夜视频在线 | 97精品视频在线 | www中文字幕| 免费一级黄色 | 久久大陆 | 亚洲性片 | 色欧美片视频在线观看 | 成人福利视频导航 | 亚洲欧美强伦一区二区 |