Geeks,We have a query which is taking different execution times in 2 different servers. We have plan to migrate databases from Instance -A to Instance B and hence these are being tested.A query on Instance A takes 35seconds whereas the same query takes 25min in Instance BInstance A(non-clustered): SQL 2012 Standard Edition with SP2 (x64) on Windows 2008 R2 SP1. Instance B(Clustered) : SQL 2012 Enterprise Edition with SP2 (x64) on Windows 2012 R2Both have similar Intel CPU's with same number of cores (2 cpu, 6 cores, 12 logical )I had matched the SQL configuration paramaters to be the same including Max memory.Database size is 260GB and the problem table which is taking longer has a size of 40GB with 180+ million rows.To be sure, i had refreshed a fresh copy of DB from Instance A to Instance B and updated stats.I noticed that the execution plans are different and setting STATISTIC IO ON i see that there are only 3 physical reads on Instance A vs 400k physical reads in Instance B. This makes sense as to why it is slower but how can we have SQL choose a similar plan as that of Instance A.Does the Edition and OS difference make any difference in the execution plan SQL optimizer chooses.Thanks,
↧