我有一个数据库设计,其中我有一个可以具有多个属性的产品。我在数据库设计方面不太好,这就是为什么这个问题,
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,处理器 = 四核。所以我的问题是,通过编写复杂的查询从数据库中获取数据是一个好主意,还是先获取数据然后在应用程序级别过滤数据是个好主意?
编辑
我尝试通过分析每个过滤器然后构建最终查询来创建查询,但是当在这种情况下应用多个过滤器时,查询不起作用。我面临的主要问题是如何从两个不同的值中选择单个记录?所以我正在尝试解决这个问题,同时这个问题出现在我的脑海中,所以我问了这个问题,所以我会感谢你的帮助,而不是投反对票。