2011-10-17 71 views
1

方案:數據庫保留多個頻繁更新的計數器。數據庫中的增量計數器字段(保存加載數據庫)

update語句很簡單:

UPDATE table SET count = count + 1 

然而,更新非常頻繁(不需要顯示更新值不斷),因此,這可能是適當找到一種方法在塊升級(用於保存連接):

而不是在短時間段內(每一秒或幾秒)+1,+ 1,+ 1,+ 1,+ 1,+ 1,在長時間段內(每5分鐘)做一個+80。

如何更新保存頻繁連接的計數器值?

(注:我看到UPDATE LOW_PRIORITY在MySQL數據庫,我發現類似的東西)

+0

請告訴我題? –

+0

您沒有指定DBMS,但是如果您的支持觸發器,請在觸發器中執行此操作,它對您而言將是透明的 – Icarus

+0

但是...哪裏將這些增量數字臨時保存?什麼是最好的方法? – Manz

回答

2

計數器是很簡單的事情。如果需要,您可以將該號碼保存在文本文件中。在服務器上保存到本地文件通常比在數據庫上運行查詢更容易,聽起來您已經對減少數據庫負載感興趣。如果您擔心競爭狀況,請使用文件塊(如flock);然後讓腳本以您認爲合適的頻率(可能使用cron job)將數據庫與文本文件同步。