我正在删除一些未使用的索引。
我通常做的是:
确保统计信息已更新 - 可能未使用索引,因为统计信息暂时未更新
为所涉及的每个索引生成drop index脚本和create index脚本
运行drop indexes命令
update statistics tablename
- 以便更新用于生存的表索引的统计信息
sp_recompile 'tablename'
,其中的索引曾经存在
问题:我真的需要做sp_recompile吗? 有什么建议吗?
答案 0 :(得分:0)
删除/重建索引将导致使用此表/索引视图使任何缓存的执行计划失效。并且sql server将在下次执行时生成新的执行计划。
统计信息也是如此,更新统计信息将导致任何缓存的执行计划失效。并且sql server将在下次执行时生成新的执行计划。
没有看到任何理由让你明确告诉sql server使用这个对象重新编译执行计划(表,视图等)。