日期:2014-05-17  浏览次数:20692 次

一个表的外键太多好不好
数据库设计完成之后,突然发现有一个表的外键达到了5个之多(总共才20几张表),请问一下这样的设计合不合理啊?

------解决方案--------------------
很多大数据高压力是不做外键的,都由程序自己保证

外键一多,必然影响数据的insert和update的效率,如果对效率要求不是很高,倒是无所谓
------解决方案--------------------
逻辑关联 物理不关联。
------解决方案--------------------
不合理。

外键约束应该被放弃,由程序逻辑来控制外键关系,而不是使用数据库的外键约束。

如果用 foreign key 的话,时间越久,你会发现 FK 越不应该存在。至于为什么,等你碰到了就知道了,嘿嘿
------解决方案--------------------
外键的多少要看业务的需要,现在我做银行系统,一个表有很多外键,这是正确的。不过你20多张表就有5个外键,是有些多,应该是数据库设计的有问题,通常中等或小的项目,是不会有那么多外键的,外键在一定程度上会影响系统的性能和操作的不友好化。