Pau*_*lus 2 php sql database model
我正在使用自构建的数据库模型.该模型是为网上商店应用程序构建的.这是它的样子:
首先,我有一张桌子供我的产品使用.这只包含id和articlenr等一般数据,对于所有产品属性(如名称,价格等)我已经为每种类型制作了单独的表,所以我有以下表格:
product_att_varchar
product_att_decimal
product_att_int
product_att_select
product_att_text
product_att_date
Run Code Online (Sandbox Code Playgroud)
这些表通过关系表procuct_att_relational相关联
我的问题是这个结构的性能,如果我想要特定产品的所有属性,如果必须使用这么多的连接,它会非常慢.
有没有人有这个解决方案???
谢谢
该模型被称为EAV(实体 - 属性 - 值)并且具有其缺点和益处.
好处是它非常灵活,可以轻松扩展.如果您具有非常大量的非常稀疏的属性,在设计时无法预测属性(例如,用户提供的)或很少使用的属性,则可能很有用.
缺点是性能和无法同时索引多个属性.但是,如果您的数据库系统允许索引视图(如SQL Server)或多个表的集群存储(如Oracle),那么通过使用这些技术可以提高性能.
但是,将所有属性存储在一个记录中仍然会更快.