外键约束有人使用到生产吗?

这些肯定会提前和开发说,这些都是使用外键已知的风险

外键是什么

建议在应用层面进行限制。

最好别用外键,在应用层限制。

用外键的都后悔了,建议别用。

1 个赞

没有哈

数据量小可以考虑使用,频繁更新的,建议通过业务代码去控制

建议通过业务代码去控制

现在很少在用外键,劣势多余优势

外键约束(FOREIGN KEY)是表的一个特殊字段,经常与主键约束一起使用。对于两个具有关联关系的表而言,相关联字段中主键所在的表就是主表(父表),外键所在的表就是从表(子表)。

外键用来建立主表与从表的关联关系,为两个表的数据建立连接,约束两个表中数据的一致性和完整性。比如,一个水果摊,只有苹果、桃子、李子、西瓜等 4 种水果,那么,你来到水果摊要买水果就只能选择苹果、桃子、李子和西瓜,其它的水果都是不能购买的。

主表删除某条记录时,从表中与之对应的记录也必须有相应的改变。一个表可以有一个或多个外键,外键可以为空值,若不为空值,则每一个外键的值必须等于主表中主键的某个值。

定义外键时,需要遵守下列规则:

  • 主表必须已经存在于数据库中,或者是当前正在创建的表。如果是后一种情况,则主表与从表是同一个表,这样的表称为自参照表,这种结构称为自参照完整性。
  • 必须为主表定义主键。
  • 主键不能包含空值,但允许在外键中出现空值。也就是说,只要外键的每个非空值出现在指定的主键中,这个外键的内容就是正确的。
  • 在主表的表名后面指定列名或列名的组合。这个列或列的组合必须是主表的主键或候选键。
  • 外键中列的数目必须和主表的主键中列的数目相同。
  • 外键中列的数据类型必须和主表主键中对应列的数据类型相同。

目前应用层面的外键相关的功能,应该也不难实现。

外键最好别用,用了就后悔。

别用外键了。

没有用到

外键影响性能的,而且容易出现业务卡顿。

没有哦

外键约束严重影响数据库的性能,建议别用。

外键用到生产的不多,外键一般都是学习SQL时候才建的。

不建议使用外键

没有~