我們有一個用於products
的mySQL數據庫表。我們正在利用緩存層來減少數據庫負載,但我們認爲將緩存層中需要存儲的實際數據最小化以進一步加速應用程序是一個好主意。使用臨時表是否明智?
所有數據庫中的產品,那就是遊客必須重視他們的代價可見:
價格都存儲在不同的表,稱爲prices
。有多個價格類別取決於每個訪問者(客戶)適用的折扣級別。有時會有活動,這意味着每種產品都有特價。特殊價格存儲在名爲specials
的表格中。
- 將臨時表綁定在一起是不是很糟糕?
它只會有必要的信息,並且會被緩存。
-------------|-------------|------------
| productId | hasPrice | hasSpecial
-------------|-------------|------------
1 | 1 | 0
2 | 1 | 1
通過這樣做,這將是超級容易知道具體的產品真正有價,而無需通過完整的prices
或specials
表中的產品應該上市交易或者提出每一次迭代。
- 臨時表是Web應用程序常見的東西還是它只是壞的設計?
不是一個壞的理想。 SQL Server具有羣集索引視圖,Oracle具有物化視圖。他們實際上都在做你需要的東西。我很想知道MySQL是否有類似的結構,但我對此表示懷疑。 – 2010-04-29 12:32:01
嗨列文。感謝您的意見。 – Industrial 2010-04-29 13:10:50