数据库设计中使用了太多的主外键是不是不太好?

李世荣 2014-09-05 09:45:44
最近在设计数据库的时候,总共建立了40张表,但是之间的主外键关系却达到了5、60个,一来怕建立了太多的主外键影响效率,也怕删除数据的时候相互有影响查找关联找半天不适合其他团队成员开发,二来去掉了主外键吧,怕程序写得不好会影响数据的统一性和完整性。于是我把数据量较大的并且经常有数据插入删除的主外键关系给去掉了并做了记录便于开发的时候用程序保持一致性,再者,保留了数据量较少的不会经常有数据修改删除操作的主外键关系,觉得这样做比较合理。您觉得呢?
...全文
413 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
iihero_ 2014-09-05
  • 打赏
  • 举报
回复
你的数据量得大到多大才会导致性能问题啊? 主外键的合理设置,是必须的. 如果出现性能问题,应该考虑如何进行改进,而不是要去回避数据完整性的问题.
ACMAIN_CHM 2014-09-05
  • 打赏
  • 举报
回复
根据需要创建,一般是建议在数据层上就做好外键。 主键是必须的。
zhu19774279 2014-09-05
  • 打赏
  • 举报
回复
查了一些资料,都认为外键影响的是一致性,而不是性能。 但是:外键是另外一张表的主键,InnoDB的主键会有隐式索引,如果这个主键是随机数或字符,那么会大大降低该表的性能,如果这个主键是有规律的数值,如自增字段,那么会提高表的性能。所以个人观点:如果这个主键设置不好,确实会影响性能。 MyISAM引擎不是很了解。
tata8188 2014-09-05
  • 打赏
  • 举报
回复
建议楼主贴出具体数据,方便大牛们帮你解决问题

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧