2013-10-03 64 views
0

我打算使用Rails/PostgreSQL製作一些Web應用程序,並且我需要關於一段數據庫結構的建議。有兩個表:商店和反饋。 「商店」必須存儲一些基本信息:姓名,地址等。「反饋」必須存儲關於反饋的信息:描述,用戶對商店的評分。 網絡應用程序必須顯示商店和他們的平均評級。我可以在「反饋」表中存儲關於評分的所有信息,並使用SQL函數計算平均值(獲得shop_id的所有反饋,將其總和並分成反饋數)。但爲了更快地做到這一點,在「商店」表格中添加2個額外字段「評分」,「計數_反饋」可能會更好嗎?請給我建議。用於存儲商店/反饋的表格的結構

回答

1

在你知道它是否會很慢之前,你正在描述的事情(創建額外的領域「做得更快」)稱爲過早優化。螞蟻是一件壞事。一件非常非常糟糕的事情。

你也想在你的數據庫中複製數據 - 這也是一件壞事。您必須爲每次更新保留rating的正確版本 - 這對於多個併發事務/連接並不那麼容易。

我的建議 - 保持簡單,只有在性能問題變得真實時才解決。現代數據庫中有很多方法可以解決這些問題。