【背景说明】
最近一个项目中,根据客户需求做了分层的统计汇总功能,分层指类似总公司、分公司、部门的三层架构,各层之间是有关联的,不同的角色查看的统计信息也不同。示意图如下(请不要对号入座,该示意图与实际项目无关,只是举个例子):
【设计思路】
为了保证统计汇总信息满足 { 总公司数据 = 各分公司之整合;分公司数据 = 各部门之整合 } ,于是
1)从底层各部门开始统计数据,得到各部门的统计数据;
2)再逐层归整,得到各分公司的统计数据;
3)最后进一步整合形成总公司的统计信息。
根据以上思路,功能实现问题不大。
【问题描述】
但随着客户数据的增加,发现统计性能急剧下降!!严重影响了用户体验!!!根源如下:
1)统计是从下到上的,统计的粒度小,若只是查看各部门的统计数据,效率还不错。若看总公司的统计数据就悲催了。
2)由于不同角色查看的统计数据不同,当并发量大时,最底层的统计功能会被频繁调用,导致服务器响应慢。
【解决方案】
和同事讨论交流后,在保留现有统计架构的基础上,发现有一种数据库技术可以提高统计性能,即物化视图!
1)通过物化视图,可以事先将各部门的统计数据保存在物化表,需要归整时直接从物化视图中直接获取结果。
2)为了保证用户体验,在客户对统计的实时性要求不高的情况下,可以结合物化视图的定时功能,进行定时更新结果。
Bingo!问题解决了!若大家有好的设计策略或思路,欢迎留言,谢谢!
下面附上物化视图简介链接。
【物化视图】DB2 基础: 物化查询表简介
http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0509melnyk/
- 大小: 17.5 KB
分享到:
相关推荐
DB2 基础:日期和时间的使用
DB2报错:SQL10007N Message "-1390" could not be retrieved. Reason code
DB2 Magazine:IDS 11 数据库监控
DB2基础DB2基础DB2基础DB2基础DB2基础DB2基础 DB2基础DB2基础DB2基础DB2基础DB2基础DB2基础
-- 物化路径模型 -- 自顶到底的查询 SELECT a.materialized_path, a.commander, a.description FROM t_materialized_model AS a, t_materialized_model AS b WHERE a.materialized_path LIKE CONCAT(b....
DB2基础----表空间
《舞动db2系列从oracle到db2开发—从容转身》是“舞动db2”系列的第二本,分为三大部分,共8章。第一部分从开发者遇到的问题进行分析,提出在oracle兼容模式下开发数据应用的新思路,并讲述了从oracle迁移到db2的...
db2驱动包 db2jcc4.jar db2jcc4.jar db2java.jar db2jcc_javax.jar db2jcc_license_cisuz.jar db2jcc_license_cu.jar db2policy.jar,压缩包无加密,可以放心下载,良心资源。
DB2编程基础要点DB2编程基础要点DB2编程基础要点DB2编程基础要点DB2编程基础要点DB2编程基础要点
db2struct软件包从给定的数据库表中生成可用的golang结构,以用于.go文件。 通过从数据库中读取有关列结构的详细信息,db2struct生成具有所需列名,数据类型和注释的go兼容结构类型。 生成的数据类型包括对可为空...
Laravel Db2Doc使您能够将数据库架构生成为markdown或JSON格式。 安装 为了在您的Laravel项目中安装cleaniquecoders/laravel-db2doc ,只需从终端运行composer require命令: $ composer require cleaniquecoders/...
资源名称:DB2数据库实践基础教程 内容简介:《DB2数据库实践基础教程》是《数据库原理与DB2应用教程》(杨鑫华、丁传华、赵慧敏编著,北京,清华大学出版社,2007年)的配套教材,着重于对实践操作的介绍,包括DB2...
Laravel开发-laravel-db2doc 使用Laravel Standalone Package Creator构建
db2 基础知识培训,用于应用系统的数据库开发
1. 用法DB2CSV -tables tableName,tableName,... e.g. DB2CSV -tables foo,bar or DB2CSV -sql ' sql string ' e.g. DB2CSV -sql ' SELECT * FROM foo ' or DB2CSV -sqlFile path/to/sqlfile e.g. DB2CSV -sqlFile ...
DB2
db2教程,学习指南,db2基础知识,db2入门知识汇总
记录db2 裸设备扩容归档 (文件系统)和表空间(裸设备)的过程。aix上操作截图
DB2基础培训,帮助学习者更好的理解db2
db2 代码错误对照表db2 代码错误对照表db2 代码错误对照表db2 代码错误对照表db2 代码错误对照表db2 代码错误对照表db2 代码错误对照表db2 代码错误对照表