我使用SQL Server,我有不同的表
TABLE_01
A | B | D
----------------
1 | 9 | WW
2 | 2 | XX
3 | 6 | YY
4 | 8 | ZZ
TABLE_02
E | F | G
----------------
1 | EE | WW
2 | BB | XX
3 | CC | YY
4 | EF | ZZ
我想创建一个聚合表,以使KPI始终保持最新状态(目标是在我想获得KPI时提高性能)。
TABLE_KPI
KPI1| KPI2 | KPI3
----------------
8 | 121 | 12
6 | 85 | 14
4 | 154 | 15
3 | 105 | 20
例如:KPI1 = 3*SUM(Table_01.A)/SUM(Table_02.E)
这可能吗?我是否想要执行与每个表相关的所有触发器,或者有一种最简单的方法来执行此操作?
答案 0 :(得分:3)
您可以创建indexed view以获得包含由SQL Server自动更新的物理数据的视图,并在select上具有以上性能。如果您不想使用索引视图,需要在Table_01和Table_02上创建插入,更新和删除触发器并手动管理您的数据(它具有高风险且不建议)。