SQL Server MYSQL 对外键建立索引的必要性
背景:
大家知道在定义外键时,都会给出on delete ..... on update .....;
这里指定的就是当主表的列发生变化时,从表的列要用怎么样的变化去迎合。对从表中的外键,建立索引的价值就在这里,
当主表的主键发生变化时,这就要把变化传播到从表,首先要找到从表中的行才行啊。想一想如果没有索引,就要对从表
进行scan,如果有索引就可以对表进行index seek;这就可以大大的提高速度。
然、
如果我们是向从表插入数据,外键约束会增检查主表,也就是说会对主表加锁。有锁的地方就有可能死锁。