有一个效率上的问题一直搞不懂如何才能够提高!
努力偷懒 2006-04-04 11:01:32 有一个统计,必须使用2个表的数据来进行计算,统计出结果。
现在有一种方案如下:
把两个表的数据用Union的方式,合起来当作一个子查询A
然后根据条件,对这个子查询A进行一定条件的SUM....group统计。
这样,就可以在这个子查询当中统计到尽可能多的字段信息。
方案二:
多次访问两个表,把表1的统计结果+-表2的统计结果。
还有一个涉及到效率的问题:
一:
把多个表的数据做成视图,实现一个完整数据的视图A
在需要对某些数据进行统计的时候,直接去访问视图A进行条件统计。
(使用起来的时候确实很方便,但是,觉得这样做,在进行某项信息统计的时候,有比较多的多余数据,又或者是利用起来的时候,会出现比较多层次的子查询嵌套。但是,有个好处,我不知道说的对不对:SQL Server对视图有优化,不用预编译。)
二:
用存储过程,把当次统计需要的数据,进行多表链接查询(该查询在对数据进行一定筛选的基础上,参照视图A进行查询,但是,该查询使用动态参数进行查询,每次使用的时候,都要先编译一次再执行。)
由于本人手头上没有庞大的数据进行试验,在此,向各位有经验的人士学习学习!先谢过各位!