HiveBrain v1.2.0
Get Started
← Back to all entries
patternMinor

Reindexing and its effects on SQL cache

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
sqlreindexingeffectsitscacheand

Problem

Currently looking into reindexing our sql database, and cannot find any information on whether or not the procedure cache would be effected. Any help or information would be great. We are using SQL Server 2005 as our DBMS.

Solution

Execution Plan Caching and Reuse lists some of the factors that trigger recompilation:


Recompiling Execution Plans


Certain changes in a database can cause an
execution plan to be either inefficient or invalid, based on the new
state of the database. SQL Server detects the changes that invalidate
an execution plan and marks the plan as not valid. A new plan must
then be recompiled for the next connection that executes the query.
The conditions that invalidate a plan include the following:



  • Changes made to a table or view referenced by the query (ALTER TABLE and ALTER VIEW).



  • Changes made to a single procedure, which would drop all plans for that procedure from the cache (ALTER PROCEDURE).



  • Changes to any indexes used by the execution plan.



  • Updates on statistics used by the execution plan, generated either explicitly from a statement, such as UPDATE STATISTICS, or generated automatically.



  • Dropping an index used by the execution plan.



  • An explicit call to sp_recompile.



  • Large numbers of changes to keys (generated by INSERT or DELETE statements from other users that modify a table referenced by the


query).

  • For tables with triggers, if the number of rows in the inserted or deleted tables grows significantly.



  • Executing a stored procedure using the WITH RECOMPILE option.




Since Index Rebuild operations also update the statistics as a side effect, it follows that an index rebuild will trigger a plan invalidation (recompile).

Context

StackExchange Database Administrators Q#37590, answer score: 6

Revisions (0)

No revisions yet.