2012-04-15 92 views
1

我正在開發一個非常動態的站點,並不斷使用MySQL數據庫。我的問題是 - 我應該擔心數據庫上的負載嗎?
例如,網站的一部分有一個實時聊天,它使用AJAX每秒爲每個用戶聯繫數據庫。根據有多少用戶連接,這是很多的疑問!我應該擔心MySQL數據庫的負載嗎?

這是MySQL數據庫可以處理的事情,還是我推?謝謝。

+0

是的,你一定應該擔心它。它會處理它嗎?沒有人知道,甚至沒有足夠的細節來暗示這一點。 – Mat 2012-04-15 13:01:23

回答

3

你實際上正在推動它。根據您的服務器和在線用戶數量,MySQL可以在某些時候處理。

MySQL和其他數據庫管理系統是數據存儲系統,而您實際上並不存儲數據!你只是通過MySQL在客戶端之間發送數據,而且效率不高。

但爲了加快速度,你可以使用即時消息的MySQL內存表,並保持離線消息在其他的MyISAM和InnoDB表(將存儲數據)

但是,最好的辦法有一個聊天的基礎設施有一個後端應用程序,它將所有消息保存在內存中,並在某些限制之後將未收到的消息作爲離線消息發送到MySQL。這非常類似於MySQL內存表,但您將對數據有更多的控制權。與此相關的問題是,您需要實施具有良好內存管理的邏輯和高效的數據結構,如果您不在使用商業產品,這是一項非常艱鉅的任務,如果您不想銷售該聊天系統,則不必要,所以我建議使用MySQL內存表,如我所述。

更新
Mysql內存表是易失性的(將在服務/服務器重啓時重置),因此不要將其用於存儲,僅用於在短時間內爲即時消息保留數據。

+0

謝謝!我暫時停止了這種做法,我會研究MySQL內存表。再次感謝。 – 2012-04-15 13:19:31

+1

我剛剛添加了內存表的易失性信息,你也應該讀一下。別客氣 – 2012-04-15 13:20:27

相關問題