【发布时间】:2011-02-14 13:00:54
【问题描述】:
是否每个外键上的索引都会优化查询??
【问题讨论】:
标签: sql sql-server tsql
是否每个外键上的索引都会优化查询??
【问题讨论】:
标签: sql sql-server tsql
通常,在外键上放置索引是一种很好的做法。这是通过 b/c 完成的,当将 FK 表链接到包含键定义的表时,它有助于提高连接性能。
这不会神奇地优化您的整个查询,但肯定有助于提高 FK 与其对应的主键部分之间的连接性能。
【讨论】:
在每个外键上添加索引可能被视为一种好习惯,但是应该警告您,如果您有一个大型数据库,您拥有的索引越多,您的系统就会变得越重。添加索引时总是需要额外的维护和系统资源成本。
我个人只会在需要优化的查询中使用的外键上添加索引。通过偶尔运行分析器来监控您的系统,确保您的索引保持最新。
【讨论】:
我对此进行了一些测试,但没有发现任何性能增强,但 SQLMenace 会告诉你其他情况。我的意见是尝试一下,看看它是否适合你。
【讨论】: