0
假設我正在建立網上商店的網站並擁有產品數據庫。所有這些產品都有自己的頁面,並擁有各自的URL。爲了提高性能而犧牲數據庫大小,反之亦然?
如果URL始終可以從數據庫中的其他數據派生出來(讓我們假裝每個產品都可以在http://example.com/ [PRODUCT.CATEGORY]?prod = [SHA1(PRODUCT.NAME)]中找到),將URL存儲在表的另一個字段中是否明智?
一方面,它是重複的數據(它可以很容易地從表中的其他現有字段派生)。另一方面,這些URL在任何地方都可以使用,並且每次需要時都會浪費重新獲取它們。
是否有這種情況下的最佳做法?
SHA1只是一個例子,我想這表明生成URL可能比簡單的追加操作更耗時。但是,謝謝,我認爲這是我正在尋找的答案。 – tom 2012-07-12 17:28:38
「使用主鍵查找記錄是獲得該記錄的最快方式」 - 不一定。訪問數據的最快訪問路徑取決於很多與主鍵無關的事情:存儲格式,索引,查詢計劃以及可用於同一操作的其他鍵。 – sqlvogel 2012-07-12 20:56:42
@sqlvogel - 雖然可能有特定的情況下可以比使用PK更快地創建記錄,但我從來沒有看到過。解釋其他任何索引策略如何比整數PK查找更快?一般來說,獲得記錄的最快方法是使用PK。 – 2012-08-04 07:28:59