October 14, 2004 at 4:02 pm
I am experimenting with distributed partition view. My configuration is made up of 3 servers.
1. One server is processing query, let me call it P1
2. Two servers are containing large set of data; let me call those, CH1 and CH2.
3. Link Server exists on P1 for CH1 and CH2.
Following query is producing required result.
SELECT count(*)
FROM V_TEST
Where, V_TEST is a view on P1, referencing table TEST1 on CH1 and TEST2 on CH2.
Once query starts on P1, it establishes connection to CH1 and CH2 immediately, but then run serially on CH1 and CH2. Why is this not running in parallel on CH1 and CH2?
October 14, 2004 at 4:30 pm
How does the view access TEST1 and TEST2? If you were to convert the view definition to a simple select statement and looked at the execution plan, does it look sequential? For example, if you are selecting from TEST1 where key IN (SELECT ForeignKey FROM TEST2) then that is a sequential process. All ForeignKey values must be obtained first from TEST2 before they can be compared to TEST1.
October 14, 2004 at 5:48 pm
CREATE VIEW V_TEST
AS
SELECT *
FROM CH1.DB1.TEST1
UNION ALL
SELECT *
FROM CH2.DB2.TEST2
By using profiler, we can confirm that query establish connection on CH1 and CH2 simultaneously, but run it serially.
Viewing 3 posts - 1 through 2 (of 2 total)
You must be logged in to reply to this topic. Login to reply