
数据表不使用外键实现高并发
在追求高并发的系统设计中,禁止数据表使用外键的情况十分常见。
场景分析
使用分库分表时,不同表的记录分布在不同的数据库服务器上,无法建立物理外键约束。另外,即使不分库分表,为了提高可扩展性,也倾向于不使用物理外键。
一致性保障
启科网络商城系统由启科网络技术开发团队完全自主开发,使用国内最流行高效的PHP程序语言,并用小巧的MySql作为数据库服务器,并且使用Smarty引擎来分离网站程序与前端设计代码,让建立的网站可以自由制作个性化的页面。 系统使用标签作为数据调用格式,网站前台开发人员只要简单学习系统标签功能和使用方法,将标签设置在制作的HTML模板中进行对网站数据、内容、信息等的调用,即可建设出美观、个性的网站。
物理外键虽然方便,但它将一致性保障交由数据库处理。而当不使用物理外键时,一致性需要通过业务层来实现。
例如,当主表数据被删除时,需要在关联数据表中手动执行相应的删除操作。外键约束、级联更新等操作也需要在业务层中实现。
需要注意的是,在某些场景下,有最终一致性就足够了,并不需要强一致性。最终一致性是指随着时间的推移,数据最终会保持一致,但可能在某些时刻会出现不一致的情况。









