Personal Notes of Edwin Eu

OPTION (USE HINT ( ‘FORCE_LEGACY_CARDINALITY_ESTIMATION’ ))‌

In Microsoft SQL Server on 01/26/2019 at 1:07 PM

It’s my passion to open mind  and continue  to learn in Technology.

Recently, I was working a stored procedure that was written in MS SQL Server 2008 R2 and migrated into MS SQL Server 2017.

It has been noticed that stored procedure execution time was increased since migrating to SQL Server 2017.

When I executed the stored procedure, it took about 2 minutes and 45 seconds.  And, The Execution Plans showed  several Remote Query.  My further research, I found this stored procedure used several linked server.

Then, switching the database compatibility mode to SQL Server 2008 (100), then re-executed the SP.

The execution time was down to 1 minutes and 35 seconds.

I did some researches and found a hint that could improve the execute time in this particular stored procedure.

The hints was :

OPTION (USE HINT ( ‘FORCE_LEGACY_CARDINALITY_ESTIMATION’ ))‌

by including this hint at the end of the SELECT statement.

Then, I re-tested this stored procedure in SQL Server 2017.  Amazingly, the execution time only tool 34 seconds.

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: