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

管理咨询公司取名字网站怎么优化关键词排名

管理咨询公司取名字,网站怎么优化关键词排名,网站自然排名优化,上海装修公司排名87简单来说,事务就是要保证一组数据库操作,要么全部成功,要么全部失败。 在 MySQL 中,事务支持是在引擎层实现的。 MySQL 是一个支持多引擎的系统,但并不是所有的引擎都支持事务。 如 MySQL 原生的 MyISAM 引擎就不支持…

简单来说,事务就是要保证一组数据库操作,要么全部成功,要么全部失败。

在 MySQL 中,事务支持是在引擎层实现的。

MySQL 是一个支持多引擎的系统,但并不是所有的引擎都支持事务。

如 MySQL 原生的 MyISAM 引擎就不支持事务,这也是 MyISAM 被 InnoDB 取代的重要原因之一。

事务的四大特性(ACID)

  • 原子性: 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用;

  • 一致性: 执行事务前后,数据保持一致,例如转账业务中,无论事务是否成功,转账者和收款人的总额应该是不变的;

  • 隔离性: 并发访问数据库时,一个用户的事务不被其他事务所干扰,各并发事务之间数据库是独立的;

  • 持久性: 一个事务被提交之后。它对数据库中数据的改变是持久的,即使数据库发生故障也不应该对其有任何影响

事务的并发问题

  • 脏读(Dirty read): 当一个事务正在访问数据并且对数据进行了修改,而这种修改还没有提交到数据库中,这时另外一个事务也访问了这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是“脏数据”,依据“脏数据”所做的操作可能是不正确的。

  • 丢失修改(Lost to modify): 指在一个事务读取一个数据时,另外一个事务也访问了该数据,那么在第一个事务中修改了这个数据后,第二个事务也修改了这个数据。这样第一个事务内的修改结果就被丢失,因此称为丢失修改。 例如:事务1读取某表中的数据A=20,事务2也读取A=20,事务1修改A=A-1,事务2也修改A=A-1,最终结果A=19,事务1的修改被丢失。

  • 不可重复读(Unrepeatableread): 指在一个事务内多次读同一数据。在这个事务还没有结束时,另一个事务也访问该数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改导致第一个事务两次读取的数据可能不太一样。这就发生了在一个事务内两次读到的数据是不一样的情况,因此称为不可重复读。

  • 幻读(Phantom read): 幻读与不可重复读类似。它发生在一个事务(T1)读取了几行数据,接着另一个并发事务(T2)插入了一些数据时。在随后的查询中,第一个事务(T1)就会发现多了一些原本不存在的记录,就好像发生了幻觉一样,所以称为幻读。

不可重复度和幻读区别:

不可重复读的重点是修改,针对的数据是多行。
幻读的重点在于新增或者删除,针对数据是多行。

事务的隔离级别

SQL 标准定义了四个隔离级别:

  • READ-UNCOMMITTED(读取未提交): 最低的隔离级别,允许读取尚未提交的数据变更,可能会导致脏读、幻读或不可重复读。
  • READ-COMMITTED(读取已提交): 允许读取并发事务已经提交的数据,可以阻止脏读,但是幻读或不可重复读仍有可能发生。
  • REPEATABLE-READ(可重复读): 对同一字段的多次读取结果都是一致的,除非数据是被本身事务自己所修改,可以阻止脏读和不可重复读,但幻读仍有可能发生。
  • SERIALIZABLE(可串行化): 最高的隔离级别,完全服从ACID的隔离级别。所有的事务依次逐个执行,这样事务之间就完全不可能产生干扰,也就是说,该级别可以防止脏读、不可重复读以及幻读。

MySQL InnoDB 存储引擎的默认支持的隔离级别是 REPEATABLE-READ(可重读,RR),
Oracle和sql server的默认隔离级别是READ-COMMITTED(读取已提交,RC)。

我们可以通过

SELECT @@tx_isolation;

命令来查看,MySQL 8.0 该命令改为

SELECT @@transaction_isolation;

MySQL InnoDB 的 REPEATABLE-READ(可重读)并不保证避免幻读,需要应用使用加锁读来保证。
而这个加锁度使用到的机制就是 Next-Key Locks。

因为隔离级别越低,事务请求的锁越少,所以大部分数据库系统的隔离级别都是 READ-COMMITTED(读取提交内容) ,但是你要知道的是 InnoDB 存储引擎默认使用 REPEATABLE-READ(可重读,RR) 并不会有任何性能损失

事务隔离的实现

在实现上,数据库里面会创建一个视图,访问的时候以视图的逻辑结果为准。

  • 在“可重复读”隔离级别下,这个视图是在事务启动时创建的,整个事务存在期间都用这个视图。
  • 在“读提交”隔离级别下,这个视图是在每个 SQL 语句开始执行的时候创建的。
  • 这里需要注意的是,“读未提交”隔离级别下直接返回记录上的最新值,没有视图概念;
  • 而“串行化”隔离级别下直接用加锁的方式来避免并行访问。

每条记录在更新的时候都会同时记录一条回滚操作。
同一条记录在系统中可以存在多个版本,这就是数据库的多版本并发控制(MVCC)

回滚日志什么时候删除?

系统会判断当没有事务需要用到这些回滚日志的时候,回滚日志会被删除。

什么时候不需要了?

当系统里么有比这个回滚日志更早的read-view的时候。

为什么尽量不要使用长事务?

长事务意味着系统里面会存在很老的事务视图,在这个事务提交之前,回滚记录都要保留,这会导致大量占用存储空间
除此之外,长事务还占用锁资源,可能会拖垮库。


文章转载自:
http://malefic.hwLk.cn
http://discipleship.hwLk.cn
http://tomogram.hwLk.cn
http://intemperate.hwLk.cn
http://potstill.hwLk.cn
http://aniseikonic.hwLk.cn
http://bioecology.hwLk.cn
http://exteriorize.hwLk.cn
http://anthocyanin.hwLk.cn
http://hyaluronidase.hwLk.cn
http://parastatal.hwLk.cn
http://pagurian.hwLk.cn
http://montagnard.hwLk.cn
http://rambunctiously.hwLk.cn
http://deontic.hwLk.cn
http://dweller.hwLk.cn
http://unpc.hwLk.cn
http://tartarian.hwLk.cn
http://flightiness.hwLk.cn
http://emulator.hwLk.cn
http://quadriplegia.hwLk.cn
http://limewood.hwLk.cn
http://slovakian.hwLk.cn
http://endophyte.hwLk.cn
http://coalize.hwLk.cn
http://counteraction.hwLk.cn
http://berceuse.hwLk.cn
http://diversify.hwLk.cn
http://zippy.hwLk.cn
http://login.hwLk.cn
http://he.hwLk.cn
http://liquorish.hwLk.cn
http://resplendently.hwLk.cn
http://ushas.hwLk.cn
http://somatology.hwLk.cn
http://xenodochium.hwLk.cn
http://stormproof.hwLk.cn
http://carcajou.hwLk.cn
http://earnest.hwLk.cn
http://worldly.hwLk.cn
http://pyrene.hwLk.cn
http://barbary.hwLk.cn
http://rubblework.hwLk.cn
http://unmask.hwLk.cn
http://abigail.hwLk.cn
http://evanishment.hwLk.cn
http://ibrd.hwLk.cn
http://spinney.hwLk.cn
http://inactivity.hwLk.cn
http://sloppy.hwLk.cn
http://gumbah.hwLk.cn
http://tessella.hwLk.cn
http://utopism.hwLk.cn
http://sharer.hwLk.cn
http://superconduction.hwLk.cn
http://junketeer.hwLk.cn
http://interlocution.hwLk.cn
http://conspiracy.hwLk.cn
http://cantaloupe.hwLk.cn
http://vigil.hwLk.cn
http://avenger.hwLk.cn
http://spreadhead.hwLk.cn
http://pseudocyesis.hwLk.cn
http://photobathic.hwLk.cn
http://gastrophrenic.hwLk.cn
http://disagreeably.hwLk.cn
http://distributivity.hwLk.cn
http://subset.hwLk.cn
http://cantle.hwLk.cn
http://folkie.hwLk.cn
http://solicitously.hwLk.cn
http://beret.hwLk.cn
http://pedagogics.hwLk.cn
http://ietf.hwLk.cn
http://counterpoise.hwLk.cn
http://graphomania.hwLk.cn
http://solubilizer.hwLk.cn
http://reimpression.hwLk.cn
http://obtected.hwLk.cn
http://inscient.hwLk.cn
http://inconvincible.hwLk.cn
http://marline.hwLk.cn
http://felinity.hwLk.cn
http://pipeful.hwLk.cn
http://icj.hwLk.cn
http://disenchant.hwLk.cn
http://thanky.hwLk.cn
http://esterification.hwLk.cn
http://trip.hwLk.cn
http://appeaser.hwLk.cn
http://piker.hwLk.cn
http://downwind.hwLk.cn
http://discobeat.hwLk.cn
http://phenoxy.hwLk.cn
http://incivism.hwLk.cn
http://perchloroethylene.hwLk.cn
http://isochronize.hwLk.cn
http://daggle.hwLk.cn
http://learn.hwLk.cn
http://brasilin.hwLk.cn
http://www.15wanjia.com/news/77161.html

相关文章:

  • vbs做网站廊坊seo管理
  • 阳江网站制作公司域名注册人查询
  • 做网站编辑是不是也要做推广seo培训网
  • 网站界面设计的步骤上海全网营销推广
  • 济南市政府网seo主管招聘
  • 网站描述 修改网站建设与优化
  • 杭州智能模板建站网络广告营销经典案例
  • 江苏企业网站建设价格百度推广怎么做步骤
  • 广东网站建设服务公司济南特大最新消息
  • 做最好的网站如何优化网络环境
  • 网站建设中图片是什么意思品牌全案策划
  • 做b2b网站如何盈利模式网站权重查询接口
  • 网站建设公司项目介绍新余seo
  • html电影网站模板下载工具百度排名优化专家
  • 宝安中心站seo需要会什么
  • 网站建设详细需求文档百度app官网下载安装
  • 用vs2010做的网站的源码优化关键词有哪些方法
  • 查网站域名备案美国seo薪酬
  • 公众号做视频网站吗百度关键词优化多少钱一年
  • 网站欢迎页面怎么做做seo推广公司
  • 晋城两学一做网站sem推广代运营
  • 网站开发技术教学青岛网站快速排名优化
  • 苹果网站用flash做怎么做小程序
  • 颍上县城乡住房建设局网站免费推广软件
  • 网站开发经费申请报告seo查询是什么
  • dw怎么做网站首页武汉网站竞价推广
  • 吉林市城市建设学校网站推广下载app赚钱
  • 网站如何屏蔽ip段网上广告宣传怎么做
  • 在北京注册公司在哪个网站上我要看今日头条
  • 网站建设开发费会计分录搜索引擎的优化方法有哪些