我正在尝试考虑oracle / SQL中的表设计,其中数据库中的许多行彼此相关并且将始终一起查询但包含不同的信息(尽管许多列将包含类似的信息类似的行)
从这个意义上说,在我看来,以某种方式将多行压缩成Oracle中包含单个公共记录ID的单行会更有效,并且总是一起存储在磁盘上,因为它们总是被插入,删除,查询并一起提取。对于这种类型的表,是否可以使用某种行压缩,以便这些相关的行不被视为单独的行以获得更好的性能?
更新:示例如下
Field1 Field2 Field3
1 1 A
1 2 B
1 3 C
2 4 D
2 5 E
在这个例子中,我总是一起插入和查询前三行(因为它们共享Field1值)。它们是独立的数据,但它们永远不会相互分离。是否有某种方法可以将它们作为一个组插入,存储,索引和提取,同时将它们保存为单独的数据行?
答案 0 :(得分:0)
如果您使用的是Exadata,则可以使用Exadata混合列压缩。
http://www.oracle.com/technetwork/database/exadata/ehcc-twp-131254.pdf
如果您不在Exadata上,您仍然可以使用OLTP压缩。
http://allthingsoracle.com/compression-in-oracle-part-3-oltp-compression/