2

可能重复:
Oracle 10g:通过数据库链接传输是否已压缩?可能吗?

我有一个巨大的 SQL 查询,其中包含很多字段。这个结果中的大部分数据是每个自我的重复。

以下是部分 SQL 结果供您参考:

RECORD_ID DATE_REC    CAB   PERSON_ID CODE1                          CODE4     CODE2 CODE5                                CODE5_VALUE                                                                      CODE5_SUBVALUE1           CODE5_SUBVALUE2           CODE5_SUBVALUE3           CODE6_SUBVALUE1           CODE6_SUBVALUE2           CODE6_SUBVALUE3
  1500747 31.10.2012          2260784                                  5664       26 552ec2af-c9d3-4f18-bc84-68d641fdbc5f HF2OUGVG11                                                                       JOHNSON                   DAVID                     MATTHEW                   PETERSON                  EARL                      TOMAS
  1500750 31.10.2012                                                   5664       26 552ec2af-c9d3-4f18-bc84-68d641fdbc5f HF2OUGVG11                                                                       JOHNSON                   DAVID                     MATTHEW                                                                      
  1500711 29.10.2012                  0;4;28;                          5664       26 552ec2af-c9d3-4f18-bc84-68d641fdbc5f HF2OUGVG11                                                                       JOHNSON                   DAVID                     MATTHEW                                                                      
  1500712 29.10.2012                  0;4;28;                          5664       26 552ec2af-c9d3-4f18-bc84-68d641fdbc5f HF2OUGVG11                                                                       JOHNSON                   DAVID                     MATTHEW                                                                      
  1500713 29.10.2012                  0;4;28;                          5664       26 552ec2af-c9d3-4f18-bc84-68d641fdbc5f HF2OUGVG11                                                                       JOHNSON                   DAVID                     MATTHEW                                                                      
  1500714 29.10.2012                  0;4;28;                          5664       26 552ec2af-c9d3-4f18-bc84-68d641fdbc5f HF2OUGVG11                                                                       JOHNSON                   DAVID                     MATTHEW                                                                      
  1500715 29.10.2012                  0;4;28;                          5664       26 552ec2af-c9d3-4f18-bc84-68d641fdbc5f HF2OUGVG11                                                                       JOHNSON                   DAVID                     MATTHEW                                                                      
  1500716 29.10.2012                  0;4;28;                          5664       26 552ec2af-c9d3-4f18-bc84-68d641fdbc5f HF2OUGVG11                                                                       JOHNSON                   DAVID                     MATTHEW                                                                      
  1500717 29.10.2012                  0;4;28;                          5664       26 552ec2af-c9d3-4f18-bc84-68d641fdbc5f HF2OUGVG11                                                                       JOHNSON                   DAVID                     MATTHEW                                                                      
  1500718 29.10.2012                  0;4;28;                          5664       26 552ec2af-c9d3-4f18-bc84-68d641fdbc5f HF2OUGVG11                                                                       JOHNSON                   DAVID                     MATTHEW                                                                      
  1500745 31.10.2012                                                   5664       26 552ec2af-c9d3-4f18-bc84-68d641fdbc5f HF2OUGVG11                                                                       JOHNSON                   DAVID                     MATTHEW                                                                      
  1500746 31.10.2012                                                   5664       26 552ec2af-c9d3-4f18-bc84-68d641fdbc5f HF2OUGVG11                                                                       JOHNSON                   DAVID                     MATTHEW                                                                      
  1500748 31.10.2012                                                   5664       26 552ec2af-c9d3-4f18-bc84-68d641fdbc5f HF2OUGVG11                                                                       JOHNSON                   DAVID                     MATTHEW                                                                      
  1500749 31.10.2012                                                   5664       26 552ec2af-c9d3-4f18-bc84-68d641fdbc5f HF2OUGVG11                                                                       JOHNSON                   DAVID                     MATTHEW                                                                      
  1500709 29.10.2012                  0;4;28;                          5664       26 552ec2af-c9d3-4f18-bc84-68d641fdbc5f HF2OUGVG11                                                                       JOHNSON                   DAVID                     MATTHEW                                                                      
  1500710 29.10.2012                  0;4;28;                          5664       26 552ec2af-c9d3-4f18-bc84-68d641fdbc5f HF2OUGVG11                                                                       JOHNSON                   DAVID                     MATTHEW                                                                      

从上面的请求中可以看出,有很多重复的数据。Oracle 会在序列化时压缩它以通过网络传输吗?

4

1 回答 1

5

SQL*Net 执行有限级别的重复数据删除。也就是说,它将当前行与最后一行进行比较,如果当前行中给定列中的值包含与发送行中的该列相同的值,则不传输该值。然后它会替换接收端的所有重复项。

这意味着排序顺序至关重要。但是,如果您发布的示例日期代表查询的输出,我认为您应该看到当前 ORDER BY 子句有很多重复数据删除。但是,可能存在可以提供更大压缩的替代排序:如果您的“巨大 SQL 查询”超过足够高的“巨大”值,您可能需要对这些排序进行基准测试。

Jonathan Lewis 在博客文章中提供了更多详细信息,包括可用于评估您的案例中的重复数据删除的演示。 你应该阅读它

于 2012-10-24T07:49:14.863 回答