0
我在Oracle数据库中有一个有60列的表。以下是表格结构。Oracle表结构
ID NAME TIMESTAMP PROERTY1 ...... PROPERTY60
该表格将有许多行。该表的大小将以GB为单位。但是,表结构的问题在于,如果必须添加新属性,我必须更改模式。为了避免这种情况,我想将表格结构更改为以下内容。
ID NAME TIMESTAMP PROPERTYNAME PROPERTYVALUE
将会有一个样本行。
1 xyz 40560 PROPERTY1 34500
这样我就可以解决问题,但表格的大小会变大。它在提取数据方面是否会对性能产生影响?我是Oracle的新手。我需要你的建议。
为什么您必须更改架构以将新属性列添加到您的表中? – Wolf 2013-02-20 06:10:34
可以说,我想在将来支持“PROPERTY61”,在这种情况下,如果我采用第一种方法,我必须更改模式。 – user2032118 2013-02-20 06:13:53
这与EAV [实体,属性,值](http://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model)方案很接近。由于各种原因,这通常是一个糟糕的主意。这不会阻止人们使用它,但查询变得非常困难,甚至更难以确保数据的自我一致。 – 2013-02-20 06:14:28