mysql 高效的去重插入資料

2021-10-02 04:52:39 字數 676 閱讀 1077

我們最簡單的想法就是先查詢一下,看看這個物件有沒有在,如果在,就更新或者刪除,或者忽略,如果不在就插入,但是對於資料處理來說,這個可能就有點浪費效能了,而且我們學習的也是批量儲存比單一儲存要快,單一儲存30ms,批量儲存10個40ms,批量儲存越大,他們兩個的差距就越大,又有人提出了select in ,我們批量的去查詢,看看鍵在沒在我們批量資料的陣列裡面,找到在的就忽略掉,確實時間可以快一點,但是處理麻煩,接下來,就要放大招了!

mysql 有乙個特性的儲存 on duplicate key update,有就update,沒有就更新,當然如果你想忽略就不在更新的地方寫東西不就行了,如果你想替換,就將所有的字段更新一遍

關於如何使用,什麼例子都不如官網

mysql語句會了,再來點配菜

peewee框架對該語句的支援

on_conflict 可以配置重複就更新

on_conflict_ignore 配置重複就忽略

on_conflict_replace 配置重複就替換

9000行資料去重 800ms

44000行資料1-2s,

MySQL去重插入方法

向資料庫插入資料,希望去重插入。一般去重插入有兩種策略 重複不插入 重複則替換 更新 準備表 create table user info id int 11 notnull comment id username varchar 50 character set utf8 collate utf8...

集合去重,高效演算法

我們最常用的兩個集合去重的方法是removeall,但是當兩個集合達到上萬之後就已經很慢了,上百萬之後,處理速度更是令人難以忍受,處理時間超過10分鐘以上,測試 如下 public class test for int i 500000 i 1500000 i system.out.println ...

Mysql高效插入 更新資料

從tushare抓取到的財務資料,最開始只是想存下來,用的辦法想簡單點,是 插入 報錯 update 但發現這個方法太蠢,異常會導致大量無效連線,改為 for idx,row in d2.iterrows try rs db.getdata select f code,f time,s from c...