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

佛山网站维护个人网站有什么缺点

佛山网站维护,个人网站有什么缺点,营销型网站有哪些类,wordpress 按分类显示图片多版本并发控制#xff08;MVCC#xff09;是一种用于数据库并发控制的机制#xff0c;它可以在保证数据一致性的同时#xff0c;提高数据库的并发性能。下面结合 MVCC 机制#xff0c;详细阐述常见的四种事务隔离级别#xff08;读未提交、读已提交、可重复读、串行化MVCC是一种用于数据库并发控制的机制它可以在保证数据一致性的同时提高数据库的并发性能。下面结合 MVCC 机制详细阐述常见的四种事务隔离级别读未提交、读已提交、可重复读、串行化与各种锁共享锁、排他锁、记录锁、间隙锁、临键锁之间的关系。 读未提交Read Uncommitted MVCC 机制在该隔离级别下MVCC 机制基本不发挥作用。因为此隔离级别允许一个事务读取另一个未提交事务的数据它更侧重于提高并发性能而不是通过 MVCC 来保证数据的一致性。事务在读取数据时不会基于 MVCC 去判断数据版本而是直接读取最新的数据无论该数据是否已经提交。共享锁S 锁和排他锁X 锁 此隔离级别对锁的使用进行了极大程度的弱化。一般情况下普通的读操作不会加共享锁写操作如 UPDATE、DELETE、INSERT虽可能会对受影响的行加排他锁但这种锁的限制作用相对较弱因为即使有排他锁存在其他事务也能读取未提交的数据会导致脏读。 记录锁、间隙锁和临键锁 通常不会使用记录锁、间隙锁和临键锁。由于不依赖 MVCC 来保证数据一致性也不需要这些锁来防止不可重复读和幻读问题。 读已提交Read Committed MVCC 机制MVCC 在该隔离级别中发挥重要作用。普通的 SELECT 查询采用快照读基于 MVCC 读取已提交的数据版本。每个语句执行时都会生成一个新的快照这使得在同一个事务内不同时刻执行相同的查询可能会得到不同的结果从而可能出现不可重复读的问题。共享锁S 锁和排他锁X 锁 共享锁普通的 SELECT 查询默认不会加共享锁而是利用 MVCC 进行快照读。但当使用 SELECT ... LOCK IN SHARE MODE 时会对查询结果集的行加共享锁允许其他事务同时读取这些行但阻止其他事务对这些行加排他锁进行修改。排他锁UPDATE、DELETE、INSERT 语句以及 SELECT ... FOR UPDATE 会对受影响的行加排他锁。并且这些锁是语句级别的即锁只在语句执行期间有效语句执行完毕后锁就会释放。 记录锁、间隙锁和临键锁 记录锁在执行 SELECT ... FOR UPDATE 或写操作时会对读取或修改的行加记录锁。间隙锁和临键锁一般不会使用间隙锁和临键锁。因为 MVCC 的快照读机制和语句级别的锁控制使得该隔离级别允许幻读的存在无法阻止其他事务在查询范围的间隙插入新记录。 可重复读Repeatable Read MVCC 机制MVCC 是该隔离级别实现可重复读特性的关键。在事务开始时会创建一个全局的快照事务内的所有 SELECT 查询都基于这个快照进行保证在同一个事务内多次读取相同数据的结果是一致的。不过对于当前读操作如 SELECT ... FOR UPDATE、UPDATE、DELETEMVCC 机制与锁机制共同作用来保证数据的一致性。共享锁S 锁和排他锁X 锁 共享锁普通 SELECT 查询采用快照读不会加共享锁。使用 SELECT ... LOCK IN SHARE MODE 时会对查询结果集的行加共享锁防止其他事务对这些行加排他锁进行修改。排他锁UPDATE、DELETE、INSERT 语句以及 SELECT ... FOR UPDATE 会对受影响的行加排他锁。这些锁会在事务结束提交或回滚时才释放。 记录锁、间隙锁和临键锁 记录锁在执行 SELECT ... FOR UPDATE 或写操作时会对读取或修改的行加记录锁。间隙锁当进行范围查询如 SELECT ... FOR UPDATE 或写操作涉及范围条件且查询条件没有精确匹配到所有记录时会对查询范围对应的间隙加上间隙锁防止其他事务在这些间隙插入新记录。这是为了弥补 MVCC 在处理范围插入时可能出现幻读的不足。临键锁临键锁是记录锁和间隙锁的组合。在可重复读隔离级别下对于索引记录InnoDB 通常使用临键锁来防止幻读。例如对唯一索引进行等值查询时如果记录存在使用记录锁如果记录不存在使用间隙锁对于普通索引一般使用临键锁。 串行化Serializable MVCC 机制在串行化隔离级别下MVCC 机制基本不发挥作用。因为该隔离级别要求事务串行执行所有的读写操作都需要排队进行以保证数据的绝对一致性。它不依赖 MVCC 的多版本特性来处理并发而是通过严格的锁机制来实现事务的隔离。共享锁S 锁和排他锁X 锁 共享锁普通的 SELECT 查询会自动对查询结果集的行加共享锁保证在当前事务读取数据期间其他事务不能对这些数据加排他锁进行修改。排他锁UPDATE、DELETE、INSERT 语句会自动对受影响的行加排他锁。由于事务是串行执行的任何事务的读写操作都需要等待前面事务释放相应的锁并发性能最差但能完全避免脏读、不可重复读和幻读问题。 记录锁、间隙锁和临键锁 在串行化隔离级别下记录锁、间隙锁和临键锁都会被使用以确保事务之间的完全隔离。无论是读取还是修改数据都会通过这些锁来保证同一时间只有一个事务可以访问特定的数据资源从而实现事务的串行执行。 综上所述MVCC 机制和锁机制在不同的事务隔离级别中相互配合共同影响着数据库的并发性能和数据一致性。较低的隔离级别更依赖 MVCC 来提高并发性能而较高的隔离级别则更强调锁机制来保证数据的严格一致性。
http://www.hkea.cn/news/14481571/

相关文章:

  • 网站seo综合诊断六安马启兵胡冰倩婚礼
  • 建立企业网站的技能郑州网站建设定制开发
  • 驻马店营销型网站建设优化推广怎样加强文化建设
  • 黄页网站大全免费网上开店卖货流程
  • 做网站多少钱_西宁君博优选大埔建设工程交易中心网站
  • 网站引流是什么意思wordpress博客增加音乐页面
  • 建站网址做学术用的网站
  • 上海市门户网站怎么创建自己的网址
  • 简约的网站设计做网站推广有用吗
  • 怎么用ps做静态网站上线后wordpress后台无法登陆
  • jsp做网站前端实例在本地做改版如何替换旧网站会影响百度收录吗
  • 怎么免费建商城网站吗网站建设的想法和意见
  • 杭州网站建设浙江网站推广软件工具
  • 网站设计案例欣赏网站建设内容保障制度
  • 杭州精品网站建设公司上海野猪seo
  • 本地手机网站建设网站开发技术部分
  • 福州网站制作维护服务深圳网站设计clh
  • 网站建设如何传视频教程常用软件开发平台
  • 网站备案 新增网络媒体发稿平台
  • 学习网站模板wordpress商城模版
  • 福建做网站公司排名韩国怎么出线
  • 温州网站制作案例百度2345网址导航
  • 百度建设网站的目的江苏园博园建设开发有限公司网站
  • 网站检索功能怎么做廊坊网站专业制作
  • 房产中介网站开发模板科技打破垄断全球的霸权
  • 做网站与全网营销搜索推广排名优化wordpress wp_footer()
  • 电商网站报价wordpress网站建设教程视频
  • 无锡网站排名公司手机设计网站公司
  • 莱芜网站优化是什么招聘销售员网站建设网络推广
  • 栾城网站建设登录设备管理