站点图标 IDC铺

关于SQL Server MYSQL 对外键建立索引的必要性

背景:

大家知道在定义外键时,都会给出on delete …..   on update …..;

这里指定的就是当主表的列发生变化时,从表的列要用怎么样的变化去迎合。对从表中的外键,建立索引的价值就在这里,

当主表的主键发生变化时,这就要把变化传播到从表,首先要找到从表中的行才行啊。想一想如果没有索引,就要对从表

进行scan,如果有索引就可以对表进行index seek;这就可以大大的提高速度。

然、

如果我们是向从表插入数据,外键约束会增检查主表,也就是说会对主表加锁。有锁的地方就有可能死锁。

退出移动版