0

我有两张桌子:

1) 是所有parameter-id的列表以及parameter-id所属的参数集的信息

2) 是包含一些parameter-id的数据,以及一些额外的数据,例如时间戳和值。

我正在设计一个类似数据仓库的系统。但是,我尝试减少不同报告脚本必须查看以获得结果的数据量,而不是存储预先计算的值的汇总表(这在我的情况下并没有真正意义)。

我想将 table2 中的每一行传输到每组参数的表中,以便最后我有“汇总表”,每组参数一个。哪个参数属于哪个集合保存在table1中。

有没有比遍历 table1 中的每个条目、获取@param_id = ...@tablename = ... 执行 a更快的方法INSERT INTO @tablename SELECT * FROM table2 WHERE parameter_id = @param_id?我读到“基于集合的方法”会比程序方法更快(更好),但我不太明白在我的情况下它是如何工作的。

任何帮助表示赞赏!

4

1 回答 1

0

不要这样做。你的第三张桌子与原来的两张桌子是多余的。而是JOIN在需要两个表的时候在两个表之间做一个。

SELECT t1.foo, t2.bar
    FROM t1
    JOIN t2 ON t1.x = t2.x
    WHERE ...;
于 2015-03-23T22:37:16.140 回答