看板 C_Sharp 關於我們 聯絡資訊
※ 引述《skitty (aki)》之銘言: : 我要寫一個功能是去讀網頁回傳的資料 : 再寫到資料庫裡 : 回傳給查詢者 : 資料量很大也常常需要更新 : (類似商品庫存量一直變動) : 目前卡在如果有新商品出現 : 我需要去檢查資料庫有沒有這個商品 : 來決定下insert或update : 變成每個商品都要去連一次資料庫效能很差 : 目前有三個方向但不是很確定: : 1. google說可以把指令串在一起一次執行 : 變成"比對…… insert……比對……update" : 但這樣指令會變成很長一串字串 : 這樣算是好的解法? : 而且如果商品名稱有 ' 出現 : 指令就不行了 : 2.每次都把資料庫舊資料砍掉 : 在記憶體生成新資料的table : 再塞新資料進去 : 3.寫一支SP : 但這樣每次還是要開資料庫連線 : 執行端是C#程式暫且在這裡發問 : 若覺得不恰當我再去DATABASE問 謝謝 在提升後端效能的前提下 你應該要思考幾件事情 1.目標是甚麼 現在執行一次要多久時間? 預計提升多少執行速度? 2.瓶頸在哪裡 資料庫或是網頁回傳的速度 還是比對的方式不好? 3.比對要在哪裡做 在sqlcommand 在C#裡 還是抓資料的時候就可以先用jquery做篩選? 4.一次可以比對幾筆 一筆 or 很多筆 如果要比對很多筆 是要非同步或是要平行處理嗎? 要先把資料抓出來轉成List提升比對速度嗎? 我是覺得問題應該不在資料庫連線的部分 sqlcommand沒有很複雜的前提下 要很明顯再提升執行效率的機會不高 -- 工作就好像手機門號 老客戶沒有好處 NP才有優惠 你要走了才推出挽留方案 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.169.95.24 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1481856883.A.FF5.html
YahooTaiwan: 你在寫什麼廢話?? 12/16 10:56
原Po可能寫C#的時間還沒有很長 所以我覺得提醒一些寫C#上的思路比較重要 從程式流程還改善 比需要經驗的SQL效能調校調整來的容易
YahooTaiwan: SQL 效能調校的學問很深的,跟本文的廢話完全無關 12/16 10:57
小弟寫C#的時間也沒有很長 可能想法可能由遺漏不正確 如果您覺得我寫的內容沒有幫助 期待高手能夠出馬指點迷津 可能我的說法有什麼錯誤或者是不必要的部分 希望資深高手指教 畢竟程式語言高深莫測 如果能得到像您這樣的高手指點 求之不得!!!
Peruheru: 他的意思是找瓶頸才是最重要的,就像不能電腦慢就換CPU 12/16 11:40
※ 編輯: Laluth (1.169.95.24), 12/16/2016 12:37:14
chatnoir: 本文作者只是希望原po先找出瓶頸點吧,別這麼嗆.. @@ 12/16 13:28
YahooTaiwan: 我只是覺得,本回覆看起來不像是一個做過大量負載系 12/16 13:31
YahooTaiwan: 統的人會回的話 12/16 13:31
Litfal: 請樓上回一篇不是廢話的比較快,嗆別人廢話也是一種廢話.. 12/16 14:01
YahooTaiwan: 上一篇已經有人答出正解,我就不再廢話了 12/16 14:31
YahooTaiwan: 抱歉,太簡單的問題我很懶得回 12/16 14:33
spfy: 我也覺得這篇和樓上說的根本不是同件事阿... 12/16 16:16
bbcust: 這篇文說得不錯 某人的推文比較像廢話... 12/21 21:17
bbcust: 自己都說效能調校的學問很深 結果也只能提別人說的merge 12/21 21:21
bbcust: 是在自打臉嗎 12/21 21:21