亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于數據庫以及系統運行速度的問題

關于數據庫以及系統運行速度的問題

當年話下 2018-12-06 17:43:39
我將一個excel的表格導入成gridview后,想將其再次導入到數據庫中。 可是我想數據庫中如果有這個excel里的數據的話(不是全部)。那么我就對其進行更新而不是插入。這里就有一個問題。加入我導入的excel表中有幾萬條數據,而數據庫中也有幾萬條數據,那么我Gridview(導入excel表后)里每行都得與數據庫里的幾萬條數據對比看是否有相同,再決定是插入還是更新。那么幾萬乘以幾萬次,這樣的話會不會使這個系統的處理速度很慢(或者說完成操作都得十幾分鐘),有什么方法能對其進行優化,或者技術能對其進行有選擇的對比而不是每個都對比一次。 請對這方面有經驗或者做過類似的程序員幫幫忙。。。
查看完整描述

7 回答

?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

正常應該是 先把數據庫對比的鍵值 一次性緩存下來,然后EXCEL的鍵值與之對比,構建insert或update,最后一次更新數據庫
查看完整回答
反對 回復 2018-12-09
?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

一般的做法,先刪除,在ADD,別去判斷更新了~~ ? 如果你真要判斷,那么就先針對統一字段排序,這樣能夠減少比較次數~
查看完整回答
反對 回復 2018-12-09
?
UYOU

TA貢獻1878條經驗 獲得超4個贊

你先把數據庫里的對比的鍵值用一個hash存起來,這個過程是O(n)復雜度,再把你要add 或update的數據的進行對比,這邊的復雜度是O(m),這樣的一個操作過程的復雜度最低只能做到O(M+N),只要不做成O(M*N)的復雜度就可以了,時間慢的應該是裝箱拆箱的過程,用多線程來做吧,因為整個執行的時間比較,為了怕出現問題斷電,誤斷的問題導致重新對比操作,最好用消息隊列來做。
查看完整回答
反對 回復 2018-12-09
?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

傻孩子,不管3721導入后,在數據庫sql完成去重復操作
查看完整回答
反對 回復 2018-12-09
  • 7 回答
  • 0 關注
  • 623 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號