【发布时间】:2016-07-08 15:39:00
【问题描述】:
我正在尝试考虑 oracle/SQL 中的表设计,其中数据库中的许多行相互关联,并且总是一起查询,但确实包含不同的信息(尽管许多列之间包含相似的信息)类似的行)
从这个意义上说,在我看来,在 Oracle 中以某种方式将多行压缩为包含单个公共 recordID 并始终一起存储在磁盘上的单行会更有效,因为它们总是被插入、删除、查询并一起提取。对于这种类型的表,是否可以使用某种行压缩,以便这些相关行不被视为单独的行以获得更好的性能?
更新:一个例子如下
Field1 Field2 Field3
1 1 A
1 2 B
1 3 C
2 4 D
2 5 E
在此示例中,我总是将前三行插入和查询在一起(因为它们共享 Field1 值)。它们是独立的数据片段,但它们永远不会相互分离。有没有办法将它们作为一个组插入、存储、索引和提取,同时将它们保持为单独的数据行?
【问题讨论】:
-
你能提供一些简单的例子吗?几乎听起来您正试图将所有内容放在一个表中,而它可能应该放在几个较小的表中。要获得“一切都在一个地方”,您可以根据情况使用视图(或物化视图)。
-
谢谢,我用一个例子更新了原帖。但是,创建子表并不合适,因为它们只是通常不会重复的随机数据。子表实际上与我认为的原始表大小相同。
标签: oracle