现在有个主要的表A,剩下的几十个表都是和A外键相关的。我需要一个展示:把A表中和id=某的记录相关的所有信息展示出来。
这些所有信息是这样得到的,假如id=1,那么就把B中关联所有id=1的统计一下有几条,C中关联所有id=1的统计一下有几条大约统计到八十次。
展示列如下id name sumB sumC sumD
我的解决办法如下:
1 建立统计表T(80个字段),每当A中插入数据就往T中插入一条记录,除了id name都设为0.剩下的表更改的时候出发T的更改
2 建立统计表T(4个字段 分别为 id name sum type)这样每当A中插入数据时就往T中插入80条记录(用type标记是哪种统计)剩下的表更改的时候出发T的更改
3 建立视图:视图的每个字段定义为对某表的统计请问,我改用哪种方法呢?各自的优缺点是什么?
另外看到有的帖子说是用存储过程,不甚懂,请赐教。
这些所有信息是这样得到的,假如id=1,那么就把B中关联所有id=1的统计一下有几条,C中关联所有id=1的统计一下有几条大约统计到八十次。
展示列如下id name sumB sumC sumD
我的解决办法如下:
1 建立统计表T(80个字段),每当A中插入数据就往T中插入一条记录,除了id name都设为0.剩下的表更改的时候出发T的更改
2 建立统计表T(4个字段 分别为 id name sum type)这样每当A中插入数据时就往T中插入80条记录(用type标记是哪种统计)剩下的表更改的时候出发T的更改
3 建立视图:视图的每个字段定义为对某表的统计请问,我改用哪种方法呢?各自的优缺点是什么?
另外看到有的帖子说是用存储过程,不甚懂,请赐教。
第一次会慢,以后如果表没有数据变化就不会影响速度。
存储过程效率高是指:执行存储过程时,编译好的查询计划会在内存中缓存。下一次调用此存储过程,可以直接使用缓存中的查询计划,不需要重新编译存储过程,所以效率高。
类似于应用程序参数化调用的好处。
我个人推荐你写一个存储过程来实现,即可以设置为自动作业按时执行,也可以根据需要随时执行。
你的逻辑并不复杂,计算量也不大,不需要额外开销.