php - mysql 大數據 按時間 統計總數 必須用count嗎?
世界只因有你
世界只因有你 2017-05-16 13:11:10
0
2
557

1、想統計今日新增客戶數,昨日新增客戶數,以及今日跟進記錄數等等,數據量很大,前面用的是加1減1的方式,但經常會出現誤差,怎麼解決這個統計的問題?難道必須用count嗎?

世界只因有你
世界只因有你

全部回覆(2)
洪涛

大數據量的統計最好不要直接在主庫上搞 -- 加1減1的方式不鎖定表不準確,鎖定表影響性能,而count性能也會很差。

建議把統計功能獨立成一個子系統,業務伺服器透過訊息佇列把新增客戶/刪除客戶的操作通知到這個統計子系統裡面。

在這個子系統裡面可以考慮使用時間序列資料庫(例如開源的Elasticsearch)來存儲,非常方便統計。即使不用專門的時間序列資料庫,而直接用mysql的話,可以單獨搞個mysql資料庫,這樣鎖表來加1減1,或者count都可以,反正不是主庫。

左手右手慢动作
  • 如果是自增的id可以用今天最後一個減去昨天最後一個來計算。

  • 使用的統計表加1減1

  • 使用count

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板