[討論] 大量update下,資料庫設計的方式
各位大大好
最近設計資料庫時遇到一些問題 想請問前輩
假設一個網站上面有50個功能,每個功能結束時會call一個api去update
一張資料表的欄位 及 select 動作。
若同時間約有10萬人使用這50個功能,而且不用批次寫入資料庫的方式,
有比較好的設計方式?
我的想法是,將這一張資料表,在依功能拆成5~10張小表,
分散資料表被request的數量。
網路上有找到Partition Table的資訊,但無奈看不是很懂,
想請各位前輩有沒有好的方式,關鍵字也可以QQ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.96.111.149
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1421334858.A.E4B.html
推
01/16 10:44, , 1F
01/16 10:44, 1F
→
01/16 10:44, , 2F
01/16 10:44, 2F
→
01/16 13:23, , 3F
01/16 13:23, 3F
→
01/16 13:25, , 4F
01/16 13:25, 4F
→
01/16 13:26, , 5F
01/16 13:26, 5F
→
01/16 15:36, , 6F
01/16 15:36, 6F
→
01/16 15:36, , 7F
01/16 15:36, 7F
推
01/17 21:51, , 8F
01/17 21:51, 8F
→
01/17 21:51, , 9F
01/17 21:51, 9F
我有一個總表 去記錄每個client對於某項任務的值
有一個任務條件表 去記錄每個任務 達成的條件
例如 吃有一個任務是吃50碗飯
使用者吃完時
我會先去 更新總表內對於此任務的值 maybe 是 49
更新完後 我會去條件表抓此任務 完成的條件 在這個情況是50
若49 = 50 我就會通知使用者完成了
所以update的確是有where條件,條件是某個clientSn和任務Sn
select也是有where值的
而以上所說的是 指是對於單一使用者而言
而我們公司 伺服器的數量 的確可以乘載10萬人以上 這是沒問題的
只是 因為要達到 任務完成 就要馬上通知使用者 該任務完成
我覺得這樣會對總表有大量的update 以及對任務條件表 大量的select
是有想過用index的方式 或者將總表拆成小表
不過還是想問問有沒有更好的方式
※ 編輯: keke0421 (36.230.134.221), 01/17/2015 23:43:50
推
01/18 00:14, , 10F
01/18 00:14, 10F
→
01/18 00:14, , 11F
01/18 00:14, 11F
→
01/18 00:14, , 12F
01/18 00:14, 12F
推
01/18 00:19, , 13F
01/18 00:19, 13F
→
01/18 00:19, , 14F
01/18 00:19, 14F
→
01/18 00:19, , 15F
01/18 00:19, 15F
推
01/18 00:23, , 16F
01/18 00:23, 16F
→
01/18 00:23, , 17F
01/18 00:23, 17F
推
01/18 00:33, , 18F
01/18 00:33, 18F
→
01/18 00:33, , 19F
01/18 00:33, 19F
推
01/18 00:45, , 20F
01/18 00:45, 20F
→
01/18 00:45, , 21F
01/18 00:45, 21F
→
01/18 00:45, , 22F
01/18 00:45, 22F
推
01/18 00:55, , 23F
01/18 00:55, 23F
→
01/23 11:00, , 24F
01/23 11:00, 24F
Database 近期熱門文章
PTT數位生活區 即時熱門文章