在列上创建索引

时间:2011-02-22 07:11:33

标签: sql indexing foreign-keys

我们有一些表,我们没有给出任何外键约束。因此,如果我们在不给出外键约束的情况下索引这些列,是否存在任何性能问题?

2 个答案:

答案 0 :(得分:3)

只有在查询中使用索引列时,索引才会提高性能。因此,仅当您在查询中频繁使用该列时才对列进行索引。外键约束与要索引的列无关。

没有在数据库中作为外键的列定义外键约束,那么您可能会面临数据完整性问题,如@The scrum已经提到的那样。

答案 1 :(得分:1)

取决于查询优化器。优化器在了解外键约束时可以做出某些假设。曾经有一个bug in SQL Server's optimizer与这些假设有关。

但查询性能不是真正的问题。数据完整性是真正的问题。

真的,非常快地得到错误答案很重要吗?