繁体   English   中英

根据SQL Server 2008中的属性从大型数据库创建视图

[英]Creating Views from a large database on the basis of attributes in SQL server 2008

我有一个大型数据库,其中包含不同项目的不同成本和收入,业务范围,地理位置。 我需要做的是基于不同的属性(例如地理区域,时间段,项目,业务线)创建视图。这给出了每个项目的利润,然后是业务线,最后是组织的总利润全世界。 所有这些都必须在SQL-Server 2008中完成。

使用内联视图,这些将减少运行时间。 使用临时表更新结果,然后将结果放入主表或视图中。 给定查询是使用内联视图的“我的视图”的一部分。

 BEGIN
UPDATE (SELECT CCTP.BORRO_OCCUPATION,
               CCTP.BORRO_MARITAL_STS,
               CCTP.BORRO_EDU_LVL,
               OC.OCCUPATION_DSC,
               MSC.MARITAL_STATUS_DSC,
               AEC.EDUCATION_DESC
          FROM CALL_CENTRE_INFO_LIVE    CCTP,
               BP_INDIVIDUAL            BI,
               OCCUPATION_CODE          OC,
               MARITAL_STATUS_CODE      MSC,
               APPLICANT_EDUCATION_CODE AEC
         WHERE BI.BUSINESS_PARTNER_ID = CCTP.BORROWER_ID
           AND OC.OCCUPATION_CDE = BI.OCCUPATION_CDE
           AND MSC.MARITAL_STATUS_CDE = BI.MARITAL_STATUS_CDE
           AND AEC.EDUCATION_CDE = BI.EDUCATION_CDE) T

   SET T.BORRO_OCCUPATION  = T.OCCUPATION_DSC,
       T.BORRO_MARITAL_STS = T.MARITAL_STATUS_DSC,
       T.BORRO_EDU_LVL     = T.EDUCATION_DESC;

其他情况除外P_RETURN:= -1; 返回; 结束;

CALL_CENTRE_INFO_LIVE这是我的临时表,这部分代码是主表的更新语句。 希望它会对您有所帮助(虽然很复杂但很有帮助)。

在您的方案中,我认为索引/物化视图将为您提供很多性能方面的帮助,因为它会为您的视图提供索引,并且还可以改善聚合函数的性能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM