【发布时间】:2011-11-23 12:50:20
【问题描述】:
假设我有
INSERT INTO @tmp1 (ID) SELECT ID FROM Table1 WHERE Name = 'A'
INSERT INTO @tmp2 (ID) SELECT ID FROM Table2 WHERE Name = 'B'
SELECT ID FROM @tmp1 UNION ALL SELECT ID FROM @tmp3
我想并行运行查询 1 和 2,然后在完成后合并结果。
有没有办法在纯 T-SQL 中执行此操作,或者检查它是否会自动执行此操作?
需要它的人的背景:我调查了一个复杂的搜索,其中有多个条件后来组合在一起(term OR (term2 AND term3) OR term4 AND item5=term5),因此我调查它是否有用并行执行那些基本上不相关的条件,然后组合结果表(并计算排名、权重等)。
例如应该是几个结果集:
SELECT COUNT(*) @tmp1 union @tmp3
SELECT ID from (@tmp1 union @tmp2) WHERE ...
SELECT * from TABLE3 where ID IN (SELECT ID FROM @tmp1 union @tmp2)
SELECT * from TABLE4 where ID IN (SELECT ID FROM @tmp1 union @tmp2)
【问题讨论】:
-
@Ioannis Karadimas:不相关。并行性是一种具有多个线程的查询。不同的会话具有并行查询
-
你是对的。我已删除评论。
-
-1 用于愚蠢的问题。见下面的 cmets
标签: sql-server tsql