我正在處理需要運行幾個獨立select語句的sproc。假設我有3條select語句,如下所示:有沒有辦法在sql服務器中編寫異步sql查詢
select * from x into #x
select * from y into #y
select * from z into #z
假設每個select語句需要2s才能完成。如果我如上所示運行sproc,那麼總查詢時間將爲6秒。但是,如果我能夠異步/同時運行查詢,那麼我可以在2秒內執行sproc。有沒有辦法做這樣的事情在T-SQL ?:
select * from x into #x async
select * from y into #y async
select * from z into #z async
這是一個有趣的概念,但不,沒有辦法。 –
不,如果您使用的是SSMS,則不在同一窗口中。您需要爲每個查詢打開1個窗口,並且每個窗口都代表可以獨立於其他會話執行的不同會話。這通常不是問題,因爲查詢通常是從SSMS之外的進程(如Web站點或某個控制檯應用程序)執行的,所以這些應用程序可以打開多個連接並並行運行查詢。因此,這樣的功能並沒有真正的需求。 – Igor
這個問題與你自己的問題密切相關http://stackoverflow.com/questions/4571823/sql-server-tsql-is-it-possible-to-exec-statements-in-parallel – JsonStatham