大型系统是否在其数据库中使用外键?

时间:2012-01-19 14:54:35

标签: sql foreign-keys scalability rdbms production

人们在关系数据库中使用外键指出的缺点之一是在执行任何插入操作之前确保父表存在的开销。 (Example)。随着数据库和操作的增长,这种影响会被放大。有谁知道网络上的大型网站是否使用它们呢?如果是这样,他们如何克服额外的开销?如果没有,随着您的开发团队变得更大,似乎可能会导致很多潜在的错误/冲突/错误传达/孤立行。

有什么见解?

2 个答案:

答案 0 :(得分:1)

我为一家电信公司工作,是的,他们这样做,与严重的一次重大事故(几小时的时间丢失调查,修补......)相比,FK的成本往往太小,这可能是由于缺少FK导致的事故造成的检查。

答案 1 :(得分:0)

这取决于您对“大型网站”的定义:例如,如果花旗集团网上银行是“大型网站”,我猜他们会这样做。

这个例子的意思是,外键的使用(或不使用),仅存储过程的访问等,取决于业务逻辑(可能还有其法律框架)的要求。仅限技术人员。