当前位置: 首页 > news >正文

营销型网站建设排名/广州seo网站推广平台

营销型网站建设排名,广州seo网站推广平台,怎么把网站排名到百度前三名,html怎么做成网站1、背景 其实这个话题是老生常谈,很多人在工作中确实也不会使用外键。包括在阿里的JAVA规范中也有下面这一条: 【强制】不得使用外键与级联,一切外键概念必须在应用层解决。但是呢,询问他们原因,大多是这么回答的&am…

1、背景

其实这个话题是老生常谈,很多人在工作中确实也不会使用外键。包括在阿里的JAVA规范中也有下面这一条:

【强制】不得使用外键与级联,一切外键概念必须在应用层解决。

但是呢,询问他们原因,大多是这么回答的:

每次做DELETE 或者UPDATE都必须考虑外键约束,会导致开发的时候很痛苦,测试数据极为不方便。

坦白说,这么说也是对的。但是呢,不够全面,所以开一文来详细说明。

2、正文

首先我们明确一点,外键约束是一种约束,这个约束的存在,会保证表间数据的关系“始终完整”。因此,外键约束的存在,并非全然没有优点。比如使用外键,可以:

保证数据的完整性和一致性;级联操作方便;

将数据完整性判断托付给了数据库完成,减少了程序的代码量;

然而,鱼和熊掌不可兼得。外键是能够保证数据的完整性,但是会给系统带来很多缺陷。正是因为这些缺陷,才导致我们不推荐使用外键,具体如下:

2.1 性能问题

假设一张表名为user_tb。那么这张表里有两个外键字段,指向两张表。那么,每次往user_tb表里插入数据,就必须往两个外键对应的表里查询是否有对应数据。如果交由程序控制,这种查询过程就可以控制在我们手里,可以省略一些不必要的查询过程。但是如果由数据库控制,则是必须要去这两张表里判断。

2.2 并发问题

在使用外键的情况下,每次修改数据都需要去另外一个表检查数据,需要获取额外的锁。若是在高并发大流量事务场景,使用外键更容易造成死锁。

2.3 扩展性问题

这里主要是分为两点:

(1)做平台迁移方便,比如你从Mysql迁移到Oracle,像触发器、外键这种东西,都可以利用框架本身的特性来实现,而不用依赖于数据库本身的特性,做迁移更加方便。

(2)分库分表方便,在水平拆分和分库的情况下,外键是无法生效的。将数据间关系的维护,放入应用程序中,为将来的分库分表省去很多的麻烦。

2.4 技术问题

使用外键,其实将应用程序应该执行的判断逻辑转移到了数据库上。那么这意味着一点,数据库的性能开销变大了,那么这就对DBA的要求就更高了。很多中小型公司由于资金问题,并没有聘用专业的DBA,因此他们会选择不用外键,降低数据库的消耗。
相反的,如果该约束逻辑在应用程序中,发现应用服务器性能不够,可以加机器,做水平扩展。如果是在数据库服务器上,数据库服务器会成为性能瓶颈,做水平扩展比较困难。


更多信息请关注公众号:「软件老王」,关注不迷路,软件老王和他的IT朋友们,分享一些他们的技术见解和生活故事。

http://www.jmfq.cn/news/5116843.html

相关文章:

  • 预定型网站有哪些/济南疫情最新情况
  • 广东省城乡与住房建设厅网站/推广网站的方法
  • 海南手机网站建设公司哪家好/站内免费推广有哪些
  • 自己做的网站怎么上传到网络/谷歌官网入口
  • 网站后台编辑器内容不显示/外贸seo优化
  • 简洁的网站设计/购买模板建站
  • iis网站属性怎么打开/合肥关键词排名推广
  • web版wordpress/seo搜索引擎优化排名
  • 设计网站建站/关键词挖掘站网
  • 没网站可以做seo吗/网站推广投放
  • 惠阳区建设局网站/上海关键词推广公司
  • 珠海pc网站建设/怎么在百度发布免费广告
  • 营销型网站建设的费用报价单/seo推广 课程
  • 广州专业网站建设报价/seo销售代表招聘
  • 网站制作广告/建立网站费用大概需要多少钱
  • 做网站页面的框架/零基础能做网络推广吗
  • 福田做商城网站建设找哪家公司好/广州seo工程师
  • 家电网站设计方案/网店如何做推广
  • 上海公司网站建设以子/seo推广主要做什么的
  • 图书馆网络规划与设计/黑河seo
  • 百度网站官方认证怎么做/域名申请的流程
  • 珠海响应式网站建设/网站权重查询
  • 网站进入沙盒的表现/长沙网站制作关键词推广
  • 阿里云上能建设自己的企业网站/优化百度涨
  • 毕业设计做课程网站好/免费推广平台哪些比较好
  • 无锡鸿源建设集团有限公司网站/重庆百度关键词推广
  • 政府网站建设赏析/企业网站建设制作
  • 鲲鹏建设集团有限公司网站/郴州网站seo外包
  • 房地产培训网站建设/优化网站性能
  • 发布app需要什么条件/seo的基本内容