数据库外键和性能


现在大家都知道,目前大部分的数据设计上
都不会建立外键关系,通常都是在程序中控制。
包括我所接触的所有的项目都是这样。几乎没有用到
外键关联。我想问下,这是为什么?除了对表的数据完整性
进行约束外。现在很多人都说外键影响效率。为什么?

数据库 数据库设计

闪光D西格玛 10 years, 8 months ago

我觉得是因为小项目中,增加外键反而会增加项目管理的内容,特别是对于经常变动的web 项目,没必要增加这样的字段。
其次,现在很多的orm 都提供这样的功能,对不同的model 进行关联,而不需要设置外键。所以这样会更便利吧。
至于效率问题,我想任何索引都是需要占用空间的。如果增加了外键,自然需要在该表的索引块增加内容,那效率自然会低一点,特别是关系数据库,是以行数据为单元的。

召唤-卡尔 answered 10 years, 8 months ago

Your Answer