2014-09-01 36 views
1

我有一個結構性能問題。數據庫性能改進結構設計

我正在準備一本銷售網站的書。我有書籍,作者,類別等。我想給用戶一些折扣。但這些折扣可以關於圖書,類別,作者甚至可以關於用戶。我在'折扣'表和存儲類型存儲折扣。當人們列出產品時,我也想顯示折扣。如果我加入折扣表和產品表,並檢查每個記錄的總折扣,這對於列表是一個巨大的性能問題。你有任何建議,這種情況和類似的情況?

(注意:我可以把折扣放到產品表中並用SQL工作每日計算一次,但是我有更多的表格可以解決這個問題,折扣只是一個示例,我想學習替代方法來解決這類問題。)

對不起,我英語不好,謝謝。

回答

0

如果我加入折扣表和產品表,並檢查總計 折扣爲每個記錄是一個巨大的性能問題上市。

啊。不,10年前我們創建了一家網上商店,我們通過一些簡單的緩存(購物產品,所有元素放在一起)記憶(我們可以在變化的情況下顯示5分鐘的過時價格),再加上輸出緩存非超簡單的方式,我們可以減輕幾乎所有的性能影響。

建立一個明確的數據庫。然後在它上面創建一個智能體系結構。不是每個項目都必須隨時從數據庫中查詢。

+0

這可能是一個解決方案,但是這足夠嗎?如果你說我把它用於大數據,並沒有太多的性能問題,我會像你說的那樣做。 – kocakmstf 2014-09-01 15:07:11

+0

定義大量數據。我沒有問題,爲一個更大的商店放入一個64GB的Web服務器和/或將其推入級聯的內存緩存服務器。問題是:它是唯一的解決方案,因爲在這種情況下可以靈活或快速,只有緩存可以處理兩者的組合。在這種情況下投擲一些內存是一個有效的解決方案。 – TomTom 2014-09-01 15:14:55