一般来说,表有外键的话,外键字段必须要建索引。
原因是如果没有索引,插入数据时会锁住整张表,而不是特定的行,这样高并发时就有性能问题。
根据这个原因,如果表没有高并发写,其实外键可以不加索引,因为索引也是有开销的,只有高并发读也可以不加。
所以说不是任何外键都必须加索引的。