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

分栏型网站wordpress怎么静态化

分栏型网站,wordpress怎么静态化,建设网站租服务器,扬中企业网站优化哪家好1. 从数据操作的类型划分#xff1a;读锁#xff0c;写锁 对于数据库并发事务的读-读情况并不会引起什么问题。对于写-写#xff0c;读-写操作或写-写操作这些情况可能会引起一些问题#xff0c;需要使用MVCC或者加锁的方式来解决它们。在使用加锁的方式解决问题时#x…1. 从数据操作的类型划分读锁写锁 对于数据库并发事务的读-读情况并不会引起什么问题。对于写-写读-写操作或写-写操作这些情况可能会引起一些问题需要使用MVCC或者加锁的方式来解决它们。在使用加锁的方式解决问题时由于既要允许读-读的情况不受影响又要使得写-写读-写/写-读情况的操作相互阻塞所以MySQL实现一个由两种类型的锁组成的锁系统来解决。这两种类型的锁通常被叫做共享锁和排他锁。 读锁也称为共享锁英文用S表示。针对同一份数据多个事务的读操作可以同时进行而不会相互影响。相互不阻塞。写锁也称为排他锁英文用X表示。当前写操作没有完成时它会阻断其他写锁和读锁。这样就能确保在给定的时间里只有一个事务能执行写入并防止其他用户读取正在写入的同一资源。 需要注意的是对于InnoDb存储引擎来说读锁和写锁可以加在表上也可以加在行上。 举例行级读写锁如果一个事务T1已经获得了某个行r的读锁那么此时另外一个事务T2是可以获得这个行的读锁的因为读取操作并没有改变行r的数据。但是如果某个事物T3向获得行r的写锁则它必须等待事务T1和T2释放掉行r上的读锁才行。 总结这里的兼容是指对同一张表或记录的锁的兼容性情况 2. 锁定读 在采用加锁方式解决脏读不可重复读幻读这些问题时读取一条记录时需要获取记录的S锁其实是不严谨的。有时候需要在读取记录的时就获取记录的X锁来禁止别的事务读写该记录。为此MySQL提出了两种比较特殊的select语句格式。 对读取的记录加S锁 select ... lock in share mode;# mysql8.0新增语法 select ... for share; 在普通的select语句后加上lock in share mode如果当前事务执行了该语句那么它会为读取的记录加S锁这样允许别的事物继续获取这些记录的S锁但不能获取该记录的X锁比如使用select ... for update语句来取这些记录或者直接修改这些记录。如果别的事务想要获取这些记录的X锁那么它们会阻塞直到当前事务提交后将这些记录的S锁释放掉。 对读取的记录加X锁 select ... for update; 在普通的select语句后面加for update如果当前事务执行了该语句那么它会为读取到的记录加S锁这样不允许别的事务获取这些记录的S锁也不允许获得这些记录的X锁。如果别的事务想要获取这些记录的S锁或者X锁那么它们会阻塞直到当前的事务提交后将这些记录上的X锁释放。 MySQL8.0新特性 在5.7版本以前select ... for update如果获取不到锁会一直等待直到innodb_lock_wait_timeout超时。在8.0版本中select ... for updateselect ... for share添加nowaitskip locked语法跳过锁等待或者跳过锁定。 通过添加上述语法能够立即返回。如果查询的行已经加锁 那么nowait会立即报错返回。而skip locked也会立即返回只是返回的结果中不包含被锁定的行。 3. 写操作 平常用到的写操作无非是DELETEUPDATEINSERT这三种 DELECT 对一条记录做DELETE操作的过程其实是先在B树中定位到这条记录的位置然后获取这条记录的X锁再执行delete mark的操作。我们也可以把这个定位待删除记录在B树位置的过程看成是一个获取X锁的锁定读。 INSERT 一般情况下新插入的一条记录并不加锁通过一种隐式锁的结果来保护这条新插入的记录在本事务提交前不被别的事务访问。 UPDATE在对一条记录做UPDATE操作时分为三种情况 情况1未修改该记录的主键值并且被更新的列占用的存储空间在修改前后未发生变化。则先在B树 中定位到这条记录的位置然后获取一下记录的X锁最后在原纪录的位置进行修改操作。我们也可以把这个定位待修改记录在B树位置的过程看作是一个获取X锁的锁定读。情况2未修改该记录的主键值并且至少由一个被更新的列占用的存储空间在修改前后发生变化。则先在B树中定位到这条记录的位置然后获取一下记录的X锁将该记录彻底删除就是把这个记录移入垃圾链表最后插入一条新的记录。这个定位待修改记录在B树中的位置的过程看作是一个获取X锁的锁定读新插入的记录由INSERT操作提供的隐式锁及逆行保护。情况3修改了该记录的主键值则相当于在原纪录上做DELETE操作之后再进行INSERT操作加锁操作就需要按照DELETE和INSERT的规则进行。
http://www.zqtcl.cn/news/50104/

相关文章:

  • 网站seo在线检测企业怎样建立自己的网站
  • 试玩app推广网站建设网站建设的行业
  • 学校网站建设板块分析长沙优化网站推广
  • 阿里云 cdn wordpressseo算法优化
  • 昌邑微信网站建设公司wordpress 留言本插件
  • 怎么查网站备案域名备案模板设计建站
  • 武昌做网站公司推荐国家商标局
  • 成都微信网站开发整合营销的四个层次
  • 株洲网站建设网站运营塘厦在哪里
  • 做行业网站投资多少培训行业网站建设是什么
  • 网站制作公司网址58同城做网站
  • 网站建设过程中的系统结构图wordpress 多说 代码
  • 正定网站制作软件外包公司百科
  • 局域网建设网站如何访问wordpress 摄影 主题
  • 做产品网站要备案吗图标设计在线生成
  • 苏州网站建设凡科国内用react做的网站
  • 一个主机建多少个网站wordpress 微信缩略图不显示图片
  • 禅城网站开发资源最全的网盘搜索引擎
  • 中小企业网站设计与开发目的网站建设七点
  • 个人网站 备案 备注贵州易广建设集团网站
  • 东莞市专注网站建设品牌开放大学门户网站建设方案
  • 门户网站优点柯桥区交通投资建设集团网站
  • 内页网站地图 权重精通网站建设pdf
  • 备案备公司名跟网站名公司logo免费智能设计
  • 免费做国际网站公司网站的备案号是如何链接的
  • 国家林业建设工程协会网站frontpage2003网页制作教程
  • 模板网站建设报价wordpress短信验证码
  • 湖南株洲建设局网站囧猴wordpress主题
  • 进出口贸易公司网站建设贵阳公司电话号码大全
  • 网站改版设计网站内容管理系统(cms)