全部,您是否必须在向系统添加索引后运行 dbcc freeproccache 以使优化器知道它?
提前致谢。
不,数据库引擎知道并会在您创建索引后立即构建和使用它。
您可以通过查看基于新索引选择记录的查询的查询计划来查看它的使用情况。
例如,如果索引是在 UserID 上创建的,则运行SELECT * FROM Table Where UserID = 1;
当您在任何表上创建索引时,将在数据库中的单独空间上创建 B-Tree 结构。当您使用创建索引的列执行查询时,优化器将自动使用 STATASTICS 中的该索引信息。
因此,创建索引后您无需执行任何操作。
但是,当由于不适当的 FILL FACTOR 导致页面拆分时,您将寻找索引重组或重建。