0

我在设计一个必须跟踪数千种不同产品类型(例如汽车、扬声器、婴儿车等)和存储属性(例如转弯半径、最大输出、颜色、等)为每个。

我的理解是,如果人们要搜索所有蓝色婴儿车,我最好为每种类型的产品都有一个表(除了一个“通用”产品表,它存储所有产品共有的东西,如名称和品牌)。如果不是出于对搜索速度的担忧,我会热衷于使用 EAV 类型的模型,但根据我所阅读的内容,我对此感到气馁。

这似乎是一个常见问题,但我还没有看到如何处理我正在尝试做的事情的好答案。我知道有很多网站在跟踪此类数据,但我发现很难想象他们有数千个不同的表格,以便为每种产品类型提供一个“详细信息”表格。是否有可能他们都在使用 EAV,而反对 EAV 的人虽然在技术上是正确的,但却夸大了使用这种模型的性能损失?或者他们只是使用一个包含所有属性的列的大“产品”表,而不担心所有的空值?

任何帮助将不胜感激。我只知道有一种常见的方法可以做到这一点,我真的很希望有人让我参与其中!:)

4

1 回答 1

0

有没有考虑过使用 CQRS 模式?您可以创建一个带有非规范化搜索表的读取数据库,该数据库将针对搜索进行优化。

您可以使用 RavenDB 之类的数据库,这是一个读取速度应该非常快的文档数据库,以获得更好的性能。

于 2012-09-24T14:48:02.483 回答