外键成本

1.对子表进行插入操作时,需要约束父表中的外键行,也就是对父表的外建行加锁,以确保这个外键不会再子表插入事务结束前被更改,从而导致额外的锁等待

2.Innodb强制外键使用索引,而如果外键的选择性很低(例如status列,或许一共只有3个值),那么索引对与查找来说几乎没有帮助,而且会占用很大的空间

如果仅仅是使用外键作为约束,则使用触发器或者限制值(Enum)或者在程序里显式约束会更好

posted on 2013-07-22 18:40  ZimZz  阅读(265)  评论(0编辑  收藏  举报