Is MSSQL aware of the processor type /speed when determing if a query can run parallel?
I would say if you have low speed CPUs, parallelism will happen more often compared to a set of fast CPUs (but that's just my brainwave)
No, the optimizer doesn't measure the speed of your processesors when determining parallelism. It has the number of processors that you've designated as available for SQL Server, the threshold for parallelism, and the estimated costs of the query based on the statistics available when the optimizer runs. It uses these to determine whether or not a query should run in a parallel fashion. No other measures are made against your specific machine.
Yes the query optimiser is able to make decisions based on the hardware made available to SQL Server - that isnt necessarily the same as the hardware that exists as it is possible to internally configure SQL Server to only use certain processors/RAM/HDD etc.
If you get a query that has an execution plan that shows parallelism then it is worth checking out to see if this is the best option but in my experience its pretty often close enough to not make changes to avoid it. That may be due to the hardware I am using or the awfully simple queries that I run - You Mileage May Vary
No one has followed this question yet.