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