This will be my last blog about the limitations of the missing index feature. This time I will demonstrate that the missing index feature will not suggest filtered indexes. Filtered indexes reduce the index size and thus the storage allocation in the data file is reduced. Rebuilding or reorganizing these indexes also requires fewer resources. So it's worth creating filtered indexes when possible. The following example will prove that the missing index feature will not consider creating filtered indexes.
The limitations of the missing index feature – It suggests creating indexes on imprecise and not persisted columns
This will be my penultimate blog about the limitations of the missing index feature and this one will be short. Before we start, let us clarify some terms so you can better understand the table we are going to create. The data types real and float are imprecise data types for use with floating point numeric data. Floating point data is approximate; therefore, not all values in the data type range can be represented exactly. Non deterministic columns are computed columns which may return different results each time they are called.
In the last post you saw that the missing index feature does not consider the order for columns to be used in an index. In this blog I will explain another limitation of the missing index feature - it reports only include columns for some queries. SQL Server supports two kind of row store indexes - the clustered index and then non-clustered index. It is important to understand the difference between these two indexes in order to implement the right index type to improve reading performance.