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

网站 标签导航/无锡网站建设方案优化

网站 标签导航,无锡网站建设方案优化,网站建设代理开发科技企业服务,网站建设工作半年通报为什么80%的码农都做不了架构师?>>> Mysql数据库特性 1、原子性(atomicty): 一个事物必须视为不可分割的最小单元。整个事务中的所有操作要么全部提交成功,要么全部失败回滚。 2、一致性(consistency): 举例说明&…

为什么80%的码农都做不了架构师?>>>   hot3.png

Mysql数据库特性

1、原子性(atomicty):

    一个事物必须视为不可分割的最小单元。整个事务中的所有操作要么全部提交成功,要么全部失败回滚。

2、一致性(consistency):

    举例说明:一个事务中有四个执行语句,前两个语句执行成功,第三个、第四个语句执行时崩溃,因为事务没有提交,所以事务中所做的修改也不会保存到数据库。

    官方说明:数据库总是由一个一致性状态转换到另一个一致性状态。

    个人理解原子性和一致性:原子性是在事务提交后判断,而一致性重在判断事务是否提交。

3、隔离性(isolation):

    一个事务所做的修改在最终提交以前,对其他事务是不可见的。

4、持久性(durability):

    一旦事务提交,其所做的修改就会永久的保存到数据库中,此时就算系统崩溃,数据也不会丢失。

事务的隔离机制

1、未提交读(read uncommitted):

    事务的修改即使没有提交,对其他事务是可见的,会出现脏读的情况。

2、提交读(read committed):

    一个事务开始时,只能“看见”已经提交的事务所做的修改。一个事务同样执行两个查询,会可能得到不一样的结果。这种情况叫做不可重复读。

3、可重复读(Repeatable Read),Mysql默认的隔离方式:

     可重复读可以避免不可重复读的问题,但是不能解决幻读的问题。

     注:Mysql通过多版本控制(MVCC)解决幻读的问题。

4、可串行化(serializable):

    强制事务串行执行,避免幻读的问题,serializable会在读取的每一行数据都会加锁,会导致大量的超时和锁等待的问题。

    场景:非常需要确保数据的一致性,可以接收没有并发的情况下。 

脏读:一个可是可以读到其他事务没有提交的事务。

不可重复读:在一个事务里使用两次同一条查询,有一个事务在这个事务提交前修改了查询的数据,那么就会使这个事务两次查询的结果不一致。

幻读:在一个事务里使用两次同一条查询,有一个事务在这个事务提交钱,增加了一条符合此事务查询的结果,那么第二次查询就会多出一条数据,叫做幻读。

隔离级别脏读不可重复读可能性幻读可能性加锁读
READ UNCOMMITTED    √    √    √    ×    
READ COMMITTED    ×     √    √    ×
REPEATABLE READ    ×    ×    √    ×
SERUALIZABLE    ×    ×    ×    √

 

Mysql中的悲观锁和乐观锁:

MVCC(多版本并发控制)分为乐观并发控制和乐观并发控制。

悲观锁:悲观锁指的是假设更新冲突发生,所以不管冲突是否真的发生,都会使用锁机制。

悲观锁会锁住读取的数据,方式其他事务读取和更新这些记录。其他事务会一直堵塞,知道这个事务结束。

悲观锁是在使用了数据库的事务隔离功能基础上,独享占用的资源,以此保证数据读取的一致性。

Select  … for update。

这样会锁住查询语句,当事务未提交时,其他事务查询符合当前语句的数据都会阻塞,所以悲观锁尽量不要使用。

乐观锁:乐观锁是在事务中不使用行级锁,在大多数情况下避免了加锁操作,因此开销更低。乐观锁大多都实现了非堵塞的读操作,写操作也只锁定必要的行。

乐观锁是在数据库表里增加一个版本号,每次查询的时候根据版本号进行判别,从而筛选数据。

注意:MVCC只在REPEATABLE READ和READ COMMITTED两个隔离级别下的工作。其他两个隔离机制级别都和MVCC不兼容。因为READ UNCOMMITTED总是读取最新的数据行,而不是符合当前事务版本的数据行。而SERIALIZABLE则会对所有读取的行都加锁。

 

 

 

转载于:https://my.oschina.net/WEguo/blog/1549849

http://www.lbrq.cn/news/1030591.html

相关文章:

  • 做网站公司好开吗/广告最多的网站
  • 做外贸怎样浏览国外网站/接app推广
  • 深圳网站建设交易/seo实战技术培训
  • 与网站开发相关的书籍/学电脑培训班
  • 河南国安建设集团有限公司网站/湖南网站建设推荐
  • easyui 网站开发实现/厦门百度广告
  • 旅游主题网站怎么做/磁力蜘蛛搜索引擎
  • 申请个人网站怎么申请/百度推广电话销售好做吗
  • 网站建设项目策划/网址域名大全
  • 免费手机网页网站/友情链接管理系统
  • 深圳企业网站建设公司哪家好/百度图片识别在线识图
  • 软件开发流程详解/西安seo专员
  • wordpress 图片自动加/win10必做的优化
  • 做网站推广/seo搜索引擎优化论文
  • 网站收录少的原因/旅游企业seo官网分析报告
  • 网站开发盈利模式/seo工作内容有哪些
  • 网站域名什么意思/沈阳网站制作推广
  • 上海市建设合同信息表网站/免费发帖的平台有哪些
  • 个人域名怎么做社交网站/蒙牛牛奶推广软文
  • 建设网站的工作步骤是/建站工具有哪些
  • 做网站的规范尺寸/合肥网站
  • 无版权图片做网站/百度seo优化培训
  • 郑州睿网站建设/搜索引擎优化seo专员招聘
  • 泰拳图片做网站用/电脑培训课程
  • 投资网站建设/成都seo专家
  • 有什么做美食的网站/石家庄房价
  • 基金网站开发/推广合作
  • 做网站需要icp/如何创建个人网站免费
  • 多终端响应式网站/宁波seo高级方法
  • 网页设计推荐网站/aso关键词优化工具
  • PyTorch简介
  • 自然语言处理( NLP)基础
  • 力扣47:全排列Ⅱ
  • web前端第二次作业
  • 小红书笔记信息获取_实在智能RPA源码解读
  • 最终章【1】Epson机器人篇