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

郑州网站seo摄影作品可以在哪些网站投稿

郑州网站seo,摄影作品可以在哪些网站投稿,浙江建设厅网站查询,在网上怎么建立自己的网站目录: 第一题. MySQL中InnoDB引擎的行锁是怎么实现的?第二题. InnoDB存储引擎的锁的算法有三种第三题. 什么是死锁?怎么解决?第四题. 数据库的乐观锁和悲观锁是什么?怎么实现的?第五题. 为什么要使用视图&a…

在这里插入图片描述

目录:

  • 第一题. MySQL中InnoDB引擎的行锁是怎么实现的?
  • 第二题. InnoDB存储引擎的锁的算法有三种
  • 第三题. 什么是死锁?怎么解决?
  • 第四题. 数据库的乐观锁和悲观锁是什么?怎么实现的?
  • 第五题. 为什么要使用视图?什么是视图?

第一题. MySQL中InnoDB引擎的行锁是怎么实现的?

答:InnoDB是基于索引来完成行锁
例: select * from tab_with_index where id = 1 for update;
for update 可以根据条件来完成行锁锁定,并且 id 是有索引键的列,如果 id不是索引键那么InnoDB将完成表锁,并发将无从谈起

第二题. InnoDB存储引擎的锁的算法有三种

  • Record lock:单个行记录上的锁
  • Gap lock:间隙锁,锁定一个范围,不包括记录本身
  • Next-key lock:record+gap 锁定一个范围,包含记录本身

相关知识点:

  1. innodb对于行的查询使用next-key lock
  2. Next-locking keying为了解决Phantom Problem幻读问题
  3. 当查询的索引含有唯一属性时,将next-key lock降级为record key
  4. Gap锁设计的目的是为了阻止多个事务将记录插入到同一范围内,而这会导致幻读问题的产生
  5. 有两种方式显式关闭gap锁:(除了外键约束和唯一性检查外,其余情况仅使用record lock) A. 将事务隔离级别设置为RC B. 将参数innodb_locks_unsafe_for_binlog设置为1

第三题. 什么是死锁?怎么解决?

死锁是指两个或多个事务在同一资源上相互占用,并请求锁定对方的资源,从而导致恶性循环的现象。

常见的解决死锁的方法

  1. 如果不同程序会并发存取多个表,尽量约定以相同的顺序访问表,可以大大降低死锁机会。
  2. 在同一个事务中,尽可能做到一次锁定所需要的所有资源,减少死锁产生概率;
  3. 对于非常容易产生死锁的业务部分,可以尝试使用升级锁定颗粒度,通过表级锁定来减少死锁产生的概率;

如果业务处理不好可以用分布式事务锁或者使用乐观锁

第四题. 数据库的乐观锁和悲观锁是什么?怎么实现的?

数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段。
悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作。在查询完数据的时候就把事务锁起来,直到提交事务。实现方式:使用数据库中的锁机制
乐观锁:假设不会发生并发冲突,只在提交操作时检查是否违反数据完整性。在修改数据的时候把事务锁起来,通过version的方式来进行锁定。实现方式:乐一般会使用版本号机制或CAS算法实现。

两种锁的使用场景
从上面对两种锁的介绍,我们知道两种锁各有优缺点,不可认为一种好于另一种,像乐观锁适用于写比较少的情况下(多读场景),即冲突真的很少发生的时候,这样可以省去了锁的开销,加大了系统的整个吞吐量。
但如果是多写的情况,一般会经常产生冲突,这就会导致上层应用会不断的进行retry,这样反倒是降低了性能,所以一般多写的场景下用悲观锁就比较合适

第五题. 为什么要使用视图?什么是视图?

为了提高复杂SQL语句的复用性和表操作的安全性,MySQL数据库管理系统提供了视图特性。所谓视图,本质上是一种虚拟表,在物理上是不存在的,其内容与真实的表相似,包含一系列带有名称的列和行数据。但是,视图并不在数据库中以储存的数据值形式存在。行和列数据来自定义视图的查询所引用基本表,并且在具体引用视图时动态生成。

视图使开发者只关心感兴趣的某些特定数据和所负责的特定任务,只能看到视图中所定义的数据,而不是视图所引用表中的数据,从而提高了数据库中数据的安全性

如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力
在这里插入图片描述

http://www.yayakq.cn/news/902232/

相关文章:

  • 查询网站域名备案做企业网站赚钱吗
  • 东莞市建设安监监督网站南通专业网站建设公司
  • 做动漫网站海南最新消息新闻
  • 莆田做鞋有没有网站看手机网站开发软件下载
  • 做网站的过程中有哪些问题建一个网站需要什么手续
  • 网站是陕西省城乡建设综合服务中心品牌建设卓有成效
  • 在哪些网站可以做毕业设计WordPress支持的数据库
  • 义乌做网站多少钱商城分销怎么做
  • 网站怎样推广 优帮云建设的网站如何让用户注册
  • 建网站岑溪哪家强?产品包装设计100例
  • 成都网站建设公司高新wordpress 首页 404
  • 如何推广网站运营淘宝客网站如何备案
  • 顶尖网站建设公司网站免备案空间
  • 菠菜网站如何做推广霸州放心的网络建站
  • 仿网站 涉及侵权吗wordpress主题安装不一样
  • 虚拟主机做视频网站可以吗丹阳是哪个省
  • 可以访问国外网站的dns石家庄开发网站
  • 常州做网站公司排名嵌入式软件开发面试
  • 深圳网站建设及推广服务公司上海网页设计制作培训
  • 私自做彩票网站销售犯法么岗顶做网站公司
  • 免费网站模块哈尔滨网站制作方案
  • 网站建设 移动端 和 PC端找外国男人做老公网站
  • 北京丰台网站建设公司平台网站开发多少钱
  • 做明星粉丝网站wordpress platinum seo 插件
  • 个人网站可以做资讯小说类大学生文创产品设计
  • 那些公司做网站比较厉害免费app制作平台下载
  • 珠海市官网网站建设价格怎么做网站一张图
  • 网站只能用ip访问网站wordpress自定义样式
  • 做遗嘱的网站有哪些自己建一个网站难吗
  • 网站找建站公司网页微信聊天电脑有记录吗