首页 > 文章列表 > 为什么高并发系统设计中要避免数据表使用外键?

为什么高并发系统设计中要避免数据表使用外键?

395 2025-04-07

为什么高并发系统设计中要避免数据表使用外键?

数据表不使用外键实现高并发

在追求高并发的系统设计中,禁止数据表使用外键的情况十分常见。

场景分析

使用分库分表时,不同表的记录分布在不同的数据库服务器上,无法建立物理外键约束。另外,即使不分库分表,为了提高可扩展性,也倾向于不使用物理外键。

一致性保障

物理外键虽然方便,但它将一致性保障交由数据库处理。而当不使用物理外键时,一致性需要通过业务层来实现。

例如,当主表数据被删除时,需要在关联数据表中手动执行相应的删除操作。外键约束、级联更新等操作也需要在业务层中实现。

需要注意的是,在某些场景下,有最终一致性就足够了,并不需要强一致性。最终一致性是指随着时间的推移,数据最终会保持一致,但可能在某些时刻会出现不一致的情况。

来源:1731038437