[英]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.