我有一個數據庫設計,其中有一個可以具有多個屬性的產品。我不是在數據庫設計的這麼好,這就是爲什麼這個問題,在數據庫級別或應用程序級別上過濾數據
Product
------------------------------------
Id Name Model
------------------------------------
1 Galaxy S GT-XX123
2 Galaxy Y GT-YY123
Product Specifications
-------------------------------------
Spec Value ProductId
-------------------------------------
OS Windows 1
Processor Dual Core 1
Screen 3.5 Inch 1
OS Android 4.1 2
Processor Quad core 2
現在我想給用戶一個工具來過濾性能的基礎上的產品,如OS = Android的,處理器=四核心。所以我的問題是,通過編寫複雜的查詢或其優先獲取數據,然後在應用程序級別上過濾數據,從數據庫獲取數據是否是一個好主意?
編輯
我試圖創建通過分析每個過濾器,然後建立一個最終的查詢的查詢,但是當多個過濾器在這種情況下,查詢應用不起作用。我面臨的主要問題是如何從兩個不同的值中選擇單個記錄?所以我試圖解決這個問題,同時這個問題出現在我的腦海中,所以我問,所以不要downvoting幫助,將不勝感激。
取決於您的過濾器的複雜程度 – siledh
可以有多個過濾器可以應用在列表中,如OS屬性,一個用於處理器屬性等等。 –