台灣最大程式設計社群網站
線上人數
1517
 
會員總數:241330
討論主題:186904
歡迎您免費加入會員
討論區列表 >> C# >> 關於資料庫流量和每秒讀取問題
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
關於資料庫流量和每秒讀取問題
價值 : 80 QP  點閱數:147 回應數:2

樓主

M
門外漢
0 5
102 4
發送站內信

小弟自己寫了一個聊天的web,不過存取方式是,我輸入文字之後存到db,然後使用者進到網頁的時候每秒去撈一次資料來看有沒有人打字(使用setInterval("read()", 1000);),雖然不是每次都有資料,但是會一直開關資料庫,請問這樣做會造成db的負擔嗎,google找到的聊天室做法都是用socket,但是我對socket不熟,請問聊天室的做法可以存取db或xml嗎?還是有什麼比較建議的做法,謝謝。
搜尋相關Tags的文章: [ C# ] , [ ASP.NET ] , [ MSSQL ] ,
本篇文章發表於2017-11-28 18:20
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

P陳
檢舉此回應
可以先存在記憶體中
每隔一段時間再寫一次

或只是聊天而已 不存也罷
本篇文章回覆於2017-11-29 16:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
最有價值解答

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
socket的設計的確會比較好。
因為這樣子可以讓客戶的網頁直接串接等待訊息處理。
不需要主動的去請求資料。這的確會對資料庫來說會比較好。

不過如果真的沒辦法用socket。(我自已也不是用socket)
我自已個人的做法是將更新的狀態寫在另一張表上。
每一次請求是先查這張表是否有更新。有更新值的話,才去做撈資料的動作。

當然~~~如果本身要撈取的資料並不會說會用到大筆數的表。是可以跳過更新表這個動作。
這樣可以降低一次查尋。

但如果要查尋的表可能是會高達8000筆以上的。一般還是用一個更新表來做判斷。
看起來好像是做一個多餘的動作。但對於高訪量的站來說。可以降低不少的負載。

至於聊天室。一般我會採用如上面的做法。
或是抓取時間值的做法。
但聊天室來說,同時線上50人在上是還不會有什麼大問題。
但如果真的要做大型的聊天室。一般還是會建議用socket會比較好。
本篇文章回覆於2017-11-29 17:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.