作者Laluth (陽光)
看板C_Sharp
標題Re: [問題] 後端提升查詢的效能
時間Fri Dec 16 10:54:35 2016
※ 引述《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