Is it true that the SQL Server is not using indexes that are fragmented?
How this could be possible and if it is, how the optimizer is making the decision when to use a index or not?
I have searched around but not been able to find a formula/rules that are making the SQL Server to ignore a particular index.
EDIT:
Actually, I have found the following statement in this article:
High fragmentation – If an index is fragmented over 40%, the optimizer will probably ignore the index because it's more costly to search a fragmented index than to perform a table scan.
So, it seems that optimizer is ignoring fragmented indexes after all. Can anyone brings more light how this is done?
SQL server does not consider fragmentation during the index selection process, the following simple talk article does a good job of explaining the workings of SQL server's index selection mechanism: