数据库级的外键影响性能,而且缺乏通用性,用应用程序直接控制更灵活。比如 SAP 这样大型应用程序,在数据库级都没有外键。SAP去掉数据库级的外键约束,是将这种约束关系的维护工作从数据库层转移到应用层(SAP服务器上),是系统整体性能上考虑的。是因为随访问量的增加,可以扩充应...
显示全部数据库级的外键影响性能,而且缺乏通用性,用应用程序直接控制更灵活。
比如 SAP 这样大型应用程序,在数据库级都没有外键。
SAP去掉数据库级的外键约束,是将这种约束关系的维护工作从数据库层转移到应用层(SAP服务器上),是系统整体性能上考虑的。是因为随访问量的增加,可以扩充应用层,进行集群等,以前在数据层去做集群很困难,所以这么做尽可能的减少数据库的压力(外键约束的校验消耗数据资源),使数据库只做数据的存取,尽量减少其他运算(外键约束校验、数据库级的存储过程、自定义函数等)。
收起