数据聚合和交易明细查询分析
需求 医院、供货商、监管单位通过交易明细查询功能,查询出指定时间段内历史 交易清单。 监管单位,查询目的是为了监督。 1.2.1 多表查询 主查询表:yycgdmx(采购单明细表) 关联查询表: useryy(内链接)、yycgd(内链接)、usergys(内链接)、ypxx(内链接)、入库信息表(【因为入库的采购单信息少于采购单表信息所以数据不完整,(并不是所有的采购单都入库了)所以使用】外链接)、退货信息(外链接)、结算 信息(外链接) select
yycgdmx.*,yycgdrk.rkl,yycgdrk.rkje,yythdmx.thl,yythdmx.thje,yyjsdmx.jsl,yyjsdmx.jsje
from (
select
useryy.mc useryymc,yycgd.bm yycgdbm,yycgd.id yycgdid,usergys.mc usergysmc,yycgdmx.ypxxid,ypxx.*,yycgdmx.cgl,yycgdmx.cgje
from yycgdmx2014 yycgdmx,yycgd2014 yycgd,useryy,usergys,ypxx
where yycgdmx.yycgdid = yycgd.id
and yycgd.useryyid = useryy.id
and yycgdmx.usergysid = usergys.id
and yycgdmx.ypxxid = ypxx.id
)yycgdmx
--外链接入库信息
left join yycgdrk2014 yycgdrk on yycgdrk.yycgdid = yycgdmx.yycgdid and yycgdrk.ypxxid = yycgdmx.ypxxid
--外链接退货信息
left join yythdmx2014 yythdmx on yythdmx.yycgdid = yycgdmx.yycgdid and yythdmx.ypxxid = yycgdmx.ypxxid
--外链接结算信息
left join yyjsdmx2014 yyjsdmx on yyjsdmx.yycgdid = yycgdmx.yycgdid and yyjsdmx.ypxxid = yycgdmx.ypxxid
分析数据量: 三张大数据量的表关联查询,如果作统计,在三张表关联的基础上实现,速度慢,。 设想:如果将四张表的数据全部放在一张表,单表查询速度提高很大。 1.2.2 数据聚合意义 数据聚合的意义: 实现方法: 如果对原始数据直接进行统计,速度很慢,因为原始数据量很大,所以说要对原始进行数据分析,分析后进行数据聚合。 通常情况下,单独开发统计系统,后台开始定时任务进行专门数据采集、数据分析、数据聚合。 1.2.3 本系统数据聚合方法 目标:将采购单明细信息、入库信息、退货信息、结算 信息聚合到一张表中,提高查询统计的速度。 设想:在采购单明细表中添加入库信息、退货信息。。。。字段? 采用方案: 聚合方法如下: 1.2.4 使用触发器进行数据同步 如果原始表和目标表在一个数据库中,建议使用触发器进行数据同步: 注意:如果触发器仅仅数据同步,建议使用触发器,如果触发器中有业务逻辑,不建议使用触发器。 在delete触发器中:old,:old表示旧数据。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |