推 javck:我也贊同回文大大的說法,建資料方便,建表格實體難阿! 04/15 20:30
※ 引述《chilam22 (chilam)》之銘言:
: 我目前在研究一般資料庫設計的問題,
: 我猜有兩種方式,
: (1) 一個統一的table,記錄每個人的文章,
: 當要列出某人的文章時,再來search這個table
以資料庫正規化設計而言,這個方法是最好的。
不只是可以搜尋指定的人的文章,也可以方便做統計數據。
只要索引設計的夠好,搜尋時間不會比 (2) 來的慢。
就算是有 1,000,000 筆資料,也可以控制檢索時間在 1 秒以內。
當然還要搭配 CPU 和夠強的 I/O 能力,這樣就算資料很多也不用怕。
: (2) 每個人一個table,記錄自己的文章,
: 但同時有一個統一的table,方便來做search
如果你有 1000 個 user,那不是要有 1000 個 table?
而且你註冊使用者時就建,還是要等到發文章時才建?
又或者,如果註冊的使用者只貼一兩篇文章,卻要用到一個 table,
我個人認為是很浪費空間的事,而且在程式設計上又很麻煩(動到 transaction
和多 table 的寫入,locking 的問題和後續統計處理的問題等等。
: 我個人是覺得(2)比較好,
: 因為當要列出某個人的文章時就不太需要search的時間,
: 而壞處是會浪費硬碟空間和寫資料時要同時寫到多個table,
: 但我想以空間換取search時間應該是值得的。
: 請問大家覺得哪種比較好?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.70.255.96