这些肯定会提前和开发说,这些都是使用外键已知的风险
外键是什么
建议在应用层面进行限制。
最好别用外键,在应用层限制。
用外键的都后悔了,建议别用。
1 个赞
没有哈
数据量小可以考虑使用,频繁更新的,建议通过业务代码去控制
建议通过业务代码去控制
现在很少在用外键,劣势多余优势
外键约束(FOREIGN KEY)是表的一个特殊字段,经常与主键约束一起使用。对于两个具有关联关系的表而言,相关联字段中主键所在的表就是主表(父表),外键所在的表就是从表(子表)。
外键用来建立主表与从表的关联关系,为两个表的数据建立连接,约束两个表中数据的一致性和完整性。比如,一个水果摊,只有苹果、桃子、李子、西瓜等 4 种水果,那么,你来到水果摊要买水果就只能选择苹果、桃子、李子和西瓜,其它的水果都是不能购买的。
主表删除某条记录时,从表中与之对应的记录也必须有相应的改变。一个表可以有一个或多个外键,外键可以为空值,若不为空值,则每一个外键的值必须等于主表中主键的某个值。
定义外键时,需要遵守下列规则:
- 主表必须已经存在于数据库中,或者是当前正在创建的表。如果是后一种情况,则主表与从表是同一个表,这样的表称为自参照表,这种结构称为自参照完整性。
- 必须为主表定义主键。
- 主键不能包含空值,但允许在外键中出现空值。也就是说,只要外键的每个非空值出现在指定的主键中,这个外键的内容就是正确的。
- 在主表的表名后面指定列名或列名的组合。这个列或列的组合必须是主表的主键或候选键。
- 外键中列的数目必须和主表的主键中列的数目相同。
- 外键中列的数据类型必须和主表主键中对应列的数据类型相同。
目前应用层面的外键相关的功能,应该也不难实现。
外键最好别用,用了就后悔。
别用外键了。
没有用到
外键影响性能的,而且容易出现业务卡顿。
没有哦
外键约束严重影响数据库的性能,建议别用。
外键用到生产的不多,外键一般都是学习SQL时候才建的。
不建议使用外键
没有~