首頁  >  文章  >  後端開發  >  訂單表是根據userid分錶還是orderid分錶

訂單表是根據userid分錶還是orderid分錶

WBOY
WBOY原創
2016-10-17 09:30:051784瀏覽

訂單表是根據userid分錶還是orderid分錶

回覆內容:

訂單表是根據userid分錶還是orderid分錶

1個user可以有多個訂單,依照訂單id分吧

uiserid和orderid是一對多的關係,所以,訂單表的主鍵是orderid,外鍵是userid

用orderid分錶的好處是可以做到每張表的大小差異不大,例如按照時間來分或order數量達到一個值就新建表,壞處是查詢的時候往往是以userid為檢索條件的,所以會出現非常多的union操作。
用userid的話情況就相反,表的大小無法恆定下來,會隨著時間不斷增長,但是好處是查詢都是單表,會很快。
所以個人觀點的話:如果是不用nosql來做快取的情況下,建議用userid分錶。如果追求效能可以用memcache來做緩存,這樣即使是用orderid分錶,由於第二次查詢的時候會直接讀取緩存,速度也會很快。對於經常查看訂單的用戶會很友好。

用orderid分錶

  1. orderid 好存,資料庫負擔也比較一致。但是資料聚合比較難。

  2. userid 好聚合。但是會有熱點分佈問題,造成資料表大小不一致。

自己抉擇

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn