Published on

February 1, 2009

Improving Performance with Indexes in SQL Server

As a SQL Server expert, I am always on the lookout for efficient scripts and techniques to optimize database performance. Recently, I came across a T-SQL script developed by Imran Mohammed that impressed me with its additional feature of changing the recovery mode when enabling and disabling indexes.

Enabling and disabling indexes can have a significant impact on the performance of SQL Server. By changing the recovery mode to simple when enabling an index, the entire operation becomes faster. This stored procedure, named USP_DisableEnableNonClusteredIndexes, is self-documented and can be easily executed.

To disable an index, you can use the following script:

EXEC USP_DisableEnableNonClusteredIndexes 'ADVENTUREWORKS', 'N', 1 -- DISABLE

To rebuild or enable an index without changing the recovery model, use the following script:

EXEC USP_DisableEnableNonClusteredIndexes 'ADVENTUREWORKS', 'N', 2 -- REBUILD/ENABLE without changing recovery model

If you want to rebuild or enable an index and change the recovery model, use the following script:

EXEC USP_DisableEnableNonClusteredIndexes 'ADVENTUREWORKS', 'Y', 2 -- REBUILD/ENABLE with change in recovery model

Alternatively, you can also execute the stored procedure with NULL values for the second parameter:

EXEC USP_DisableEnableNonClusteredIndexes 'ADVENTUREWORKS', NULL, 1 -- DISABLE
EXEC USP_DisableEnableNonClusteredIndexes 'ADVENTUREWORKS', NULL, 2 -- REBUILD/ENABLE without changing recovery model

By using this script, you can easily manage and optimize your indexes in SQL Server.

For further reading on index-related topics, I recommend the following blog posts:

These articles provide insights into using query hints and alternative methods for optimizing index usage in SQL Server.

Remember, the SQL Server query optimizer selects the best execution plan for a query. However, in special circumstances, experienced developers and database administrators may need to use query hints to achieve optimal performance.

Overall, by leveraging the power of indexes and utilizing efficient scripts like the one shared by Imran Mohammed, you can significantly improve the performance of your SQL Server databases.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.