Re: [SQL ] 問投票系統資料庫規劃設計[MySQL]

看板Database作者 (carl)時間11年前 (2013/03/18 02:19), 編輯推噓3(308)
留言11則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《kerash (K.T)》之銘言: : 請問各位先進 : 今天我要規劃一個投票系統提供給有會員資格的訪客投票 : 想請問關於這樣的功能資料庫應該如何規劃比較恰當 : 網路上通常都是針對單一投票作教學 : 規劃出來的資料庫不外乎結構是 : 表1. 投票列表 : [紀錄目前有甚麼投票、投票時間 ..etc] : 表2. 投票選項 : [選項對應投票列表的ID,以取得該投票有哪些選項] : 表3. 票選結果 : [某某會員對某某投票所投下的選項] : 個人認為對於投票數量較少的系統應該足以使用 : 但想知道對於較大型的投票系統,以FB民調來說 : 通常投票及選項皆很大量,而且調查量又多的狀況之下 : 這種規劃,投票選項跟結果很快就是幾十萬筆的數量以上 : 在需要查詢或統計的狀況下似乎不是很好(不是很確定) : 因此想詢問關於這種系統,是否有較為恰當的設計方式 : 或者能夠較為有效利用資料庫的規劃 : 謝謝 我覺得是沒啥問題 表2可以加入這個選項的票數 這樣你不用每次都重算 這樣你一般查詢或統計應該就只會用表1和表2而已 應該速度不是啥問題 (當然索引要建好) 如果資料量大的話先做sharding就好 -- http://blog.carlcarl.tw -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.251.192.96

03/18 09:19, , 1F
謝謝回應,表2 是指每次投票後就直接 update +1 嗎?
03/18 09:19, 1F

03/18 09:19, , 2F
索引的話應該沒甚麼問題,十分感謝!
03/18 09:19, 2F

03/19 00:00, , 3F
這樣做的話 一個以上的人同時投這個項目 就會排隊等鎖
03/19 00:00, 3F

03/19 01:04, , 4F
哦哦 也是啦XD
03/19 01:04, 4F

03/19 12:43, , 5F
所以在同時投此票的結果下可能會有一些狀況囉?
03/19 12:43, 5F

03/19 12:44, , 6F
不即時update,先insert後固定時間統計應該可以吧~?
03/19 12:44, 6F

03/19 20:29, , 7F
這樣就不即時啊 所以這些問題都會讓長出來的系統不一樣啊
03/19 20:29, 7F

03/22 12:59, , 8F
那只能再看系統要如何規劃來決定了.. thx!
03/22 12:59, 8F

03/23 19:35, , 9F
對 系統規劃必須以負載為考量 瞬間/長期 負載考慮又不同
03/23 19:35, 9F

03/23 20:19, , 10F
了解了,謝謝你的回應~
03/23 20:19, 10F

03/23 21:03, , 11F
而且加索引是讀快寫慢的行為 小應用沒差 大應用就要考慮
03/23 21:03, 11F
文章代碼(AID): #1HHWbCZ8 (Database)
文章代碼(AID): #1HHWbCZ8 (Database)