Does a foreign key automatically create an index?

A foreign key is a constraint, a relationship between two tables – that has nothing to do with an index per se.

But it is a known fact that it makes a lot of sense to index all the columns that are part of any foreign key relationship, because through a FK-relationship, you’ll often need to lookup a relating table and extract certain rows based on a single value or a range of values.

So it makes good sense to index any columns involved in a FK, but a FK per se is not an index.

Check out Kimberly Tripp’s excellent article “When did SQL Server stop putting indexes on Foreign Key columns?”.

Leave a Comment