我有以下表格:需要一個數據庫設計諮詢 - 查詢與其他列
Customer(customer_id) - 1000 rows (1000 customers)
Invoice(invoice_id, customer_id) - 1000000 rows (1000 invoices per customer)
Charge(charge_id, invoice_id, charge_amount) - 20000000 rows (20 charges per invoice)
現在,我想產生一個客戶的發票與它的總電量。 結果表看起來是這樣的:
Customer_name | invoice_id | charge_total
test 1 $1000
test 2 $1200
test 3 $900
...
我的問題是,什麼是數據庫設計的這種情況下,最好的做法是什麼? 我在思考以下兩個選項:
- 只需在查詢中運行所有內容?
- 在發票表中添加「charge_total」欄目,以節省查詢處理時間(快20倍)
謝謝大家!
這顯然是一個「宗教戰爭」類型的問題,但我不同意你的主張,即需要很高的障礙。規範化的規則不是聖經的,它們是爲了避免人們經常犯的常見的愚蠢的錯誤,而這些錯誤往往會讓他們陷入更多的困境。如果你瞭解經驗法則並根據這些優點評估情況,那麼經驗法則本身就不再有用了。 – 2011-03-22 15:37:08
這是我正在尋找的答案。 是的,我會等到我遇到性能問題。 謝謝。 – m0dE 2011-03-24 14:22:28