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

做网站有现成的程序seo云优化如何

做网站有现成的程序,seo云优化如何,网站加强阵地建设与管理,上海住房城乡建设厅网站目录 1、全局锁和表锁使用场景 2、行锁的意义 3、为什么说间隙锁解决了快照的幻读? 4、RR隔离级别产生幻读的场景 5、详解元数据锁(MDL)作用以及如何减少元数据锁 6、出现死锁场景 7、查看MySQL锁情况 8、自增锁 1、全局锁和表锁使用场景 全局锁 备份数据库:当需要…

目录

1、全局锁和表锁使用场景

2、行锁的意义

3、为什么说间隙锁解决了快照的幻读?

4、RR隔离级别产生幻读的场景

5、详解元数据锁(MDL)作用以及如何减少元数据锁

6、出现死锁场景

7、查看MySQL锁情况

8、自增锁


1、全局锁和表锁使用场景

全局锁

  • 备份数据库:当需要对整个数据库进行一致性备份时,使用全局锁可以确保在备份过程中数据库的数据状态不会发生变化,从而保证备份数据的完整性和一致性。例如,在使用 mysqldump 工具备份数据库时,可以通过添加 --single-transaction 参数来实现一致性备份,但对于一些不支持事务的存储引擎(如 MyISAM),或者需要确保绝对一致性的场景,就可能需要使用全局锁来保证在备份期间没有其他事务对数据进行修改。

  • 进行数据库级别的操作:如执行数据库的升级、数据迁移等操作时,为了避免在操作过程中有其他事务干扰,可能需要使用全局锁来锁定整个数据库,确保操作的稳定性和正确性。比如要对数据库的存储引擎进行升级,或者将数据库从一个服务器迁移到另一个服务器时,使用全局锁可以防止在操作过程中数据被修改,保证数据的一致性和完整性。

表锁

  • 并发写入较少的场景:对于一些并发写入操作较少的表,使用表锁可以简单有效地控制对表的访问。例如,一些配置表、字典表等,这些表的数据相对稳定,很少有并发的写入操作,使用表锁可以在需要更新数据时,确保在更新过程中没有其他事务对该表进行写入操作,避免数据冲突。

  • 数据一致性要求较高的特定操作:当需要对表中的数据进行一些复杂的批量操作,并且要求操作过程中数据的一致性非常高时,表锁可以发挥作用。比如,在进行数据的批量删除、批量更新等操作时,使用表锁可以防止在操作过程中有其他事务对表中的数据进行修改,从而保证操作结果的准确性和一致性。

  • 与其他不支持行级锁的存储引擎配合:如果使用的是不支持行级锁的存储引擎(如 MyISAM),那么在需要控制并发访问时,就只能使用表锁。例如,在一些传统的日志记录系统中,可能会使用 MyISAM 存储引擎来存储日志数据,由于其不支持行级锁,在对日志表进行写入操作时,就需要使用表锁来保证数据的完整性和一致性。

  • 跨事务的表级操作:当多个事务需要对同一个表进行一系列相互关联的操作,且这些操作需要保证原子性和一致性时,表锁可以用来协调这些事务的执行。例如,在一个电商系统中,可能有多个事务需要对订单表进行插入、更新和删除操作,为了确保这些操作在整个业务逻辑中是一致的,不会出现数据不一致的情况,可以使用表锁来保证在这些操作执行期间,其他事务不会对订单表进行干扰。

全局锁和表锁在数据库管理和开发中都有各自重要的使用场景,需要根据具体的业务需求、数据访问模式和数据库的特点来合理选择和使用,以确保数据库的性能和数据的一致性。

全局锁命令

FLUSH TABLES WITH READ LOCK;
解锁
UNLOCK TABLES;

表锁命令

表读所
lock tables t14 read;
解锁执行
UNLOCK TABLES;
​
表写锁(发起线程可读写,其他线程不能写)
lock tables t14  write;
解锁执行
UNLOCK TABLES;

2、行锁的意义

MySQL5.5之前是myisam,5.6之后默认innodb存储引擎,innodb存储引擎最重要的是行锁和事务。

行锁模式:

共享锁:如果一个事务获取共享锁,其他事务还可以读取数据,但是不能修改。

排他锁:如果一个事务获取排他锁,其他事务读写都会被阻塞。

默认select不会加锁,需要手动添加

共享锁
begin
select * from t1 where a = 1 lock in share mode;
​
排他锁
select * from t1 where a = 1 for update;
​
commit

提高并发性能

  • 在高并发环境下,如果多个事务只是对表中的不同行进行操作,使用行锁可以让这些事务同时执行,而不会像表锁那样,一个事务操作表时会阻塞其他事务对整个表的访问。例如,在一个电商订单系统中,多个用户同时下单购买不同的商品,每个订单对应订单表中的不同行,使用行锁可以让这些下单操作并发执行,大大提高了系统的并发处理能力,减少了事务之间的等待时间,提升了系统的整体性能和响应速度。

保证数据一致性

  • 行锁可以确保在同一时间内,只有一个事务能够对某一行数据进行修改,从而避免了数据冲突和数据不一致的问题。比如在银行转账业务中,涉及到转出账户和转入账户余额的修改,这两个操作可能在不

http://www.hkea.cn/news/115670/

相关文章:

  • 网络营销推广的作用谷歌seo什么意思
  • 免费网站建设解决方案郑州网络营销公司哪个好
  • 转转怎么做钓鱼网站税收大数据
  • 株洲专业网站排名优化深圳产品网络推广
  • 深圳美食教学网站制作如何免费搭建自己的网站
  • 兰州移动端网站建设广东整治互联网霸王条款
  • 彩票网站该怎么建设天津seo实战培训
  • 原平的旅游网站怎么做的新冠疫情最新情况最新消息
  • 网站开发软件著作权归谁seo外包
  • 小说网站的网编具体做哪些工作南宁网站快速排名提升
  • 承德网站设计seo互联网营销培训
  • 工信部网站备案查询 手机seo专员的工作内容
  • 淘宝活动策划网站视频营销成功的案例
  • 精准营销数据杭州排名优化软件
  • 中卫网站建站设计seo学习论坛
  • wordpress初始登录seo排名赚app靠谱吗
  • 软件外包保密协议seo相关岗位
  • 后台网站开发文档下载班级优化大师app
  • 辛集城乡建设管理局网站网络营销网络推广
  • 阿里云部署一个自己做的网站吗电商网站搭建
  • 免费汽车租赁网站模板网站域名解析ip查询
  • 企业解决方案官网国内seo排名分析主要针对百度
  • 变态版手游石景山区百科seo
  • 阿里云控制台登录入口seo矩阵培训
  • wordpress苗木模板网站搜索排优化怎么做
  • 网站图片引导页怎么做重庆seo招聘
  • 如何做属于自己的领券网站郑州百度网站优化排名
  • 建设银行益阳市分行桃江支行网站公司页面设计
  • vps 网站上传网站seo优化是什么意思
  • wordpress cos腾讯云seo网站优化收藏