I have a fairly complex procedure that currently takes about 1:30 (min:sec) to complete. We are transitioning to a new server and when I run the same query against the same data on the new server it takes almost 2:30 to complete.
The old server is a single proc – dual core Intel 4 2.8 GHz CPU with 3 GIG of RAM running Windows 2000 and SQL 8. The new server is a dual proc – dual core (4 cores total) 3.4 GHz machine with 6 GIG of RAM running Windows 2008 R2 and SQL 2008.
I had hoped to see this procedure (which gets run frequently every hour) get faster with the new machine and new SQL but it is now over 50% slower?! I work for a small company doing all the programming and networking but am not a DBA. Is there possibly some kind of optimization being done on the old machine/SQL that is not happening on the new machine/SQL? The new machine is doing nothing but running SQL which has been set to use all the RAM available.
When I run the procedure it only seems to use one processor core and all the RAM it can get (same thing on both machines). And it only appears to use the one processor about 50% on average.
Any guidance on what might be causing this slowdown is appreciated.
Brian
I assume you upgraded the database by doing a restore, did you update the statistics (with full scan) or rebuild all the indexes?
Otherwise you won’t get optimal plans
for a full scan, you can do this
This might take a while if you have large table