如何索引MS SQL中的所有外键?

Jan*_*nko 1 sql-server indexing foreign-keys

我们有大型MS SQL数据库,包含许多表和外键.由于性能的原因,我们需要索引表中的所有外键,我们试图避免手动操作.有没有办法让MS SQL自动或使用某些工具?

使用的MS SQL服务器是MS SQL Server 2008 R2.

非常感谢.

Joe*_*lli 5

我会引导您远离尝试自动执行此操作并鼓励您检查您的系统(Google缺少索引DMV(SQL 2005或更高版本)以获得良好的开端)并创建适当的索引.如果您尝试自动执行此操作,则可能会引入以下问题:

  • 在具有低基数的列上创建索引,这些列将消耗资源但从不使用(例如,具有少量可能值的查找表的外键)

  • 引入书签查找,因为您创建的索引可以从包含其他列中获益.

我不是说你的外键不应该被编入索引,只是应该考虑创建这些索引.