在高性能代码中迭代表

时间:2011-06-09 09:41:11

标签: sql-server-2005

假设我有两个临时表

CREATE TABLE TableA
(
    SomeValue    NVARCHAR(64)
)

CREATE TABLE TableB
(
    SomeValue    NVARHCAR(64)
)

和决赛桌

CREATE TABLE TableC
(
    SomeValue1    NVARCHAR(64),
    SomeValue2    NVARHCAR(64)
),

以高性能方式从TableCTableA插入TableB 值的每个可能组合的最佳方法是什么?我知道游标必须是最不值得考虑的事情,但是两个WHILE循环会做得足够快吗?

1 个答案:

答案 0 :(得分:3)

一个简单的笛卡尔积,它是一个交叉连接(WikipediaMSDN

INSERT TABLEC 
   (SomeValue1, SomeValue2)
SELECT
   TABLEA.SomeValue, TABLEB.SomeValue
FROM
   TABLEA CROSS JOIN TABLEB