鍍金池/ 問答/數(shù)據(jù)庫/ mysql某個(gè)表頻繁更新的字段需要另外建表嗎?

mysql某個(gè)表頻繁更新的字段需要另外建表嗎?

  1. 例如用戶的體力,每分鐘都會更新一次
  2. 用戶的金幣值也會經(jīng)常變動,

一般情況下,存儲用戶的體力和金幣值都是放在用戶表中的,現(xiàn)在在使用緩存的情況下,發(fā)現(xiàn)用戶體力和金幣會頻繁更新,導(dǎo)致緩存的也是頻繁更新,求大佬給個(gè)意見

回答
編輯回答
兮顏

同意一樓的,一般頻繁更新的數(shù)據(jù),不建議直接讀寫數(shù)據(jù)庫,用redis緩存會比較好,定時(shí)寫入sql

2017年8月23日 09:25
編輯回答
瘋子范

在下莊日熊不請自來,請各位帶哥海涵。
首先建議學(xué)習(xí)一下sql三大范式,你就會發(fā)現(xiàn)table的建立與分開主要與邏輯關(guān)系有關(guān),而非更新頻率。
第二,對于樓上的答案,不完全贊同,你需要考慮你的需求是不是對一致性要求很高。

2018年8月10日 08:27
編輯回答
朽鹿

按主鍵更新的話, 一般單核可以很容易做到每秒1萬次, 再多話要想一些優(yōu)化的辦法. 如果你量小于這個(gè),數(shù)據(jù)庫是最簡單的方案. 按你的一分鐘更新一次, 同時(shí)支持60萬在線用戶是沒有問題的. 需要做的是不要按時(shí)間觸發(fā),即同一時(shí)間點(diǎn)保存,錯開就好.

2018年6月1日 01:32
編輯回答
乖乖噠

謝邀,(意見僅供參考)如果真的很頻繁那就不建議直接寫到mysql里了,可以考慮增設(shè)一層內(nèi)存緩存(比如memcached),先存到緩存里,再用隊(duì)列定期寫回mysql。

2017年12月27日 13:03