I am using SQL Server 2008 hosted on Windows Server 2008R2 – 64bit. Our system has four CPUs. I have the following questions about CPUS in relation to parallelism and threads.
- In parallel execution does it follow that a thread handles one part of the execution, what I mean is – If there are 10 threads (for example) displayed on Windows Task Manger while a query is running, does it mean that the execution of that query will have been split into 10 parallel parts?
- OR is the degree of parallelism determined by the number of the available CPUs? Like in my case with four CPUs – does it mean that query parallel execution cannot be split into more than four parts?
- What’s the purpose of a thread anyway when a query runs in relation to parallelism? How does that tie in with CPUs in use?
Hope my question is clear.
Many thanks,
Mpumelelo