上海太保P05项目——PARTITION_KEY解决方案

来源:互联网 发布:淘宝如何做广告第一页 编辑:程序博客网 时间:2024/05/01 16:06

        需求:  在进行多表关联时,所涉及的关联表行数巨大,关联速度达不到要求。

    解决方案: §在所有大表中建立 PARTITION_KEY字段, 按照该键的键值对表进行物理分区。PARTITION_KEYPARTITION_CONFIG表中获得。分区策略是按照分公司进行分区。

    PARTITION_KEY表的数据结构:

Name                Type          Nullable Default Comments
------------------- ------------- -------- ------- --------
PARTITION_CONFIG_ID INTEGER                                
TYPE_ID             INTEGER                                
DESCR               VARCHAR2(254) Y                        
BRANCH_COMPANY_ID   INTEGER                                
STORAGE_PARTITION   INTEGER                                
EFFECTIVE_FROM_DATE DATE          Y                        
EFFECTIVE_TO_DATE   DATE          Y

    --BRANCH_COMPANY_ID为分公司代码
    --STORAGE_PARTITION为PARTITION_KEY

    使用示例: A 与表 B 进行关联时,如下进行
      select A.column1, B.column2 from A, B 
          
 where A.foreign_key=B.Primary_key
           
and   A.partition_key in (select Storage partition from Partition config where Branch company id=xxxx)
           
and B.partition_key in (select Storage partition from Partition config where Branch company id=xxxxxxx)

原创粉丝点击