July 15, 2010 at 1:01 am
Basically, we has some SQL in a stored procedure which performed reasonably OK on 2000, but we found that when the same SQL was running on 2008 it performed terribly, we ended up having to force the Join types using the Option clause.
Another thing to check as far as the code is concerned is to double check that Left Joins are absolutely necessary...
July 15, 2010 at 4:46 am
Jeff Moden (7/14/2010)
kchant (7/14/2010)
It may be worth checking your physical join operators as well, as I've encountered performance issues with stored procedures during migrations from 2000 to 2008...Can you elaborate a bit on that?
I havent done any in depth investigation on this behaviour (yet... :)), but i think the behaviour changed in 2008 , so that the optimizer would consider loop joins , ( at all / more favourably , dont know !)
In this scenario i think we are in 'polish a turd' territory
July 15, 2010 at 8:53 am
I might have missed it, but did anyone mention that when upgrading from SQL 2000 to SQL 2008 you MUST update ALL statistics with a FULL SCAN?
Also did we get a stats IO and query plan output?
Best,
Kevin G. Boles
SQL Server Consultant
SQL MVP 2007-2012
TheSQLGuru on googles mail service
July 15, 2010 at 9:11 am
I haven't, I know it's a fairly common issue for a lot of performance issues, just make sure you do the larger tables out of hours, especially if you're experiencing performance issues already (and try not to use ms_foreachtable unless all your tables are really small)...
July 15, 2010 at 1:51 pm
TheSQLGuru (7/15/2010)
I might have missed it, but did anyone mention that when upgrading from SQL 2000 to SQL 2008 you MUST update ALL statistics with a FULL SCAN?Also did we get a stats IO and query plan output?
THAT's better. 😉
--Jeff Moden
Change is inevitable... Change for the better is not.
Viewing 5 posts - 16 through 19 (of 19 total)
You must be logged in to reply to this topic. Login to reply