2012-06-25 71 views
1

巴塞羅那 - 馬德里4:1阿森納 - 切爾西2:0什麼是在數據庫中表示運動結果的正確方法

哪種數據類型是良好表示4:1和2:0等?

浮現在腦海中的選項有:

  1. 兩個smallints
  2. 一個小數(即4.1和2.0)
  3. 一個點(即4,1和2,0)

還有什麼?你怎麼做的?檢索誰贏得了比賽以及目標的差異是很容易的,這使我傾向於第一種選擇,但也許還有更多(記憶考慮......)?

回答

2

最好將分數存儲爲兩個單獨的值。除非您的數據庫很大,否則您建議的不同選項之間的內存和時間差別太小而無法關注。兩個單獨的值將使編寫查詢變得更加容易,而無需包含分析每個查詢中兩個值的邏輯。

此外,如果您願意,您可以添加傳播,獲勝者等的其他列。在表中保留更多數據會導致更新/插入更慢,但讀取查詢更簡單,更快(因爲已經計算出贏者和差額)。假設這是一個體育網站或類似的東西,你可能會在插入/更新(播放的新遊戲)的某一天讀取更多的內容(即網站訪問者)。

相關問題