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

aspx网站 整站抓取wordpress定义一个变量

aspx网站 整站抓取,wordpress定义一个变量,做网站发表的赚钱,布吉最新消息今天文章目录 锁的基本概念共享锁#xff08;读锁#xff09;排他锁#xff08;写锁#xff09;锁的兼容性锁的升级和降级 全局锁、表锁、行锁全局锁表锁行锁 何时使用行锁何时使用表锁额外思考#xff1a; 在数据库的世界里#xff0c;性能优化是一个永恒的话题。MySQL作为广… 文章目录 锁的基本概念共享锁读锁排他锁写锁锁的兼容性锁的升级和降级 全局锁、表锁、行锁全局锁表锁行锁 何时使用行锁何时使用表锁额外思考 在数据库的世界里性能优化是一个永恒的话题。MySQL作为广泛使用的数据库之一其锁机制是保证数据一致性的关键。了解何时使用行锁和表锁能够帮助我们更有效地进行数据库操作避免死锁和性能瓶颈。 众所周知我们都知道 Innodb 有全局锁、表级锁、行级锁三种但你知道什么时候会用表锁什么时候会用行锁吗 对于表级锁而言当执行 DDL 语句去修改表结构时会使用表级锁对于行级锁而言一般情况下都会默认使用行级锁貌似是需要有索引匹配到才行 锁的基本概念 在深入讨论行锁与表锁之前我们先来回顾一下锁的基本概念。锁是数据库管理系统用来控制对数据的并发访问的一种机制。在MySQL中锁分为共享锁读锁和排他锁写锁 在MySQL中锁是用于管理并发访问数据库资源的一种机制以确保数据的完整性和一致性。锁分为两种基本类型共享锁Shared Locks通常称为读锁和排他锁Exclusive Locks通常称为写锁 共享锁读锁 共享锁是一种允许多个用户同时读取同一数据资源的锁类型。当一个事务对数据行或表持有共享锁时其他事务也可以获取该数据行或表的共享锁但无法获取排他锁。共享锁通常用于以下场景 读取操作当用户需要从数据库中读取数据时数据库会为这些数据行或整个表添加共享锁。非阻塞读取共享锁允许多个事务同时读取数据不会阻止其他读取操作从而提高了并发性能。隔离级别在某些事务隔离级别下如READ COMMITTEDMySQL会使用共享锁来实现非阻塞读取。 排他锁写锁 排他锁是一种不允许其他用户同时读取或写入同一数据资源的锁类型。当一个事务对数据行或表持有排他锁时其他事务既不能获取该数据行或表的共享锁也不能获取排他锁。排他锁通常用于以下场景 写入操作当用户需要向数据库中插入、更新或删除数据时数据库会为这些数据行或整个表添加排他锁。数据保护排他锁确保在数据被修改时没有其他事务可以访问这些数据从而防止数据不一致。隔离级别在更高的事务隔离级别下如REPEATABLE READ和SERIALIZABLEMySQL会使用排他锁来防止脏读、不可重复读和幻读。 锁的兼容性 共享锁与共享锁兼容。多个事务可以同时持有同一数据资源的共享锁。共享锁与排他锁不兼容。持有共享锁的事务不能获取排他锁反之亦然。排他锁与排他锁不兼容。同一数据资源上不能同时存在多个排他锁。 锁的升级和降级 在某些情况下MySQL可能会自动将共享锁升级为排他锁或者将排他锁降级为共享锁以满足事务的需求。例如如果一个事务持有共享锁并尝试修改数据MySQL会尝试将共享锁升级为排他锁。 了解共享锁和排他锁的工作原理对于优化数据库性能和设计高效的数据库应用至关重要。正确的锁策略可以减少锁争用提高并发性能同时确保数据的一致性和完整性。 全局锁、表锁、行锁 全局锁 全局锁就是对整个数据库实例加锁。 MySQL 提供了一个加全局读锁的方法命令是 Flush tables with read lock (FTWRL)。当你需要让整个库处于只读状态的时候可以使用这个命令之后其他线程的以下语句会被阻塞数据更新语句数据的增删改、数据定义语句包括建表、修改表结构等和更新类事务的提交语句。你可以理解为全局锁基本上把数据所所有的变更语句都锁住了。 全局锁的典型场景应用场景是全库逻辑备份也就是把整个库每个表都 select 出来存起来。上面说到全局锁会锁住所有变更语句但这只是对于 MyISAM 存储引擎而言的。对于 Innodb 而言其可以利用 MVCC 实现数据的一致性视图从而不需要锁整个库就可以实现全库的数据备份。 表锁 表锁顾名思义就是对某个表加锁。 表锁是一种粗粒度的锁它锁定的是整个表。当一个表被锁定时其他用户无法对该表进行读写操作直到锁被释放。表锁通常在以下情况下使用 全表扫描当执行全表扫描操作时使用表锁可以减少锁的开销。批量操作在进行大量数据的插入、更新或删除操作时表锁可以减少锁的争用。低并发环境在并发较低的环境中表锁可以简化锁管理提高操作效率。 一般情况是对应的存储引擎没有行级锁例如MyIASM或者是对应的 SQL 语句没有匹配到索引。 对于第一种情况而言因为对应存储引擎不支持行锁所以只能是使用更粗粒度的锁来实现这也比较好理解。 对于第二种情况而言如果存储引擎支持行锁但对应的 SQL 就没有使用索引那么此时也是会全表扫描那此时也是会使用表锁。例如下面的语句没有指定查询列或者指定了查询列但是并没有用到索引那么也是会直接锁定整个表。 // 没有指定查询列 selectfrom user; // 指定查询列但是没有用到索引 selectfrom user where name ‘zhangsan’; 上面说的索引可以说是判断是否会用行级锁的关键 行锁 行锁是MySQL中一种细粒度的锁它锁定的是数据库表中的一行或多行数据。行锁的优点是它能够提供较高的并发性因为只锁定需要操作的数据行而不会影响其他行。行锁通常在以下情况下使用 事务隔离级别较高在REPEATABLE READ或SERIALIZABLE隔离级别下MySQL默认使用行锁。高并发读写操作当有大量的读写操作同时进行时行锁可以减少锁的争用提高系统性能。使用索引进行查询如果查询语句能够利用索引MySQL会自动使用行锁。 何时使用行锁 高并发读写在高并发读写的场景下使用行锁可以减少锁的争用提高系统的并发处理能力。细粒度控制当需要对单个或少数几条记录进行操作时行锁可以提供更细粒度的控制。避免锁升级在某些情况下如果事务只涉及少量数据行使用行锁可以避免锁从行锁升级为表锁。 何时使用表锁 全表操作当执行全表的插入、更新或删除操作时使用表锁可以减少锁的开销。批量数据处理在处理大量数据时表锁可以简化操作提高效率。低并发环境在并发较低的环境中使用表锁可以减少锁管理的复杂性。 额外思考 如果查询或更新用到了索引但是查询或更新的数据特别多占全表的 80% 甚至更多这时候是会用表锁还是行锁呢 在MySQL中即使查询或更新操作使用了索引如果涉及到的数据量非常大比如占全表的80%或更多MySQL的行为可能会取决于几个因素 事务隔离级别不同的隔离级别会影响锁的行为。例如在REPEATABLE READMySQL的默认隔离级别或SERIALIZABLE隔离级别下MySQL倾向于使用行锁但在高并发和大量锁定的情况下可能会出现锁升级即从行锁变为表锁。锁的争用和死锁如果大量的行被锁定MySQL的锁管理器可能会决定升级为表锁以减少锁的争用和避免死锁。InnoDB的锁策略InnoDB存储引擎有自己的锁策略它试图平衡行锁和表锁的使用以优化性能。InnoDB会根据事务的大小和并发情况动态调整锁的行为。锁的粒度InnoDB通常优先使用行锁但如果锁定的行数超过了一定比例通常认为是表中行数的20%左右InnoDB可能会将锁升级为表锁。具体的SQL操作某些特定的SQL操作如UPDATE或DELETE涉及大量数据即使使用索引也可能触发表锁。系统配置和版本MySQL的配置和版本也会影响锁的行为。例如某些配置参数可以调整锁升级的阈值。 在实际操作中如果确实涉及到大量数据的查询或更新并且对性能有严格要求建议采取以下措施 优化索引确保索引设计得当以减少锁的范围和提高查询效率。分批处理将大量数据的操作分批进行每次处理一小部分数据以减少锁的影响。调整隔离级别根据业务需求适当调整事务隔离级别。监控和调优使用MySQL的监控工具来观察锁的行为并根据实际情况进行调优。 总之MySQL会根据当前的事务情况和系统配置来决定使用行锁还是表锁。如果操作涉及的数据量非常大即使使用了索引也可能会使用表锁特别是当系统认为这样做可以提高性能或减少死锁风险时。
http://www.yingshimen.cn/news/56479/

相关文章:

  • gta5此网站正在建设合肥企业网站营销电话
  • 网站开发的技术栈搜索引擎关键词竞价排名
  • 网站建设推广襄樊优化什么建立生育支持
  • 搜索引擎推广方案案例优化的含义是什么
  • 网站开发系统源代码网络营销推广方法包括哪些
  • 电商网站开发模块解聘 人力资源网站上怎么做
  • 网站推广做哪个比较好ip开源网站FPGA可以做点什么
  • 网站建设江门惠安网站建设公司
  • wordpress多站点分别部署个人网站定制
  • 网站开发中用到的英文单词乡村旅游电子商务网站建设
  • 没公司怎么做网站自己做网站的优势
  • 枣阳市建设局网站郑州服务设计公司网站
  • 温岭 网站制作做淘宝有哪些推广网站
  • 建设家装网站丹东建设网站
  • 怎么建设一个企业网站全球搜索引擎排名2022
  • 微信网站开发报价表烟台百度做网站多少钱
  • 钱宝做任务的网站怎么下学院宣传网站建设简介
  • 湖南营销型网站建设磐石网络做网站的公司怎么发展业务
  • 网站制作公司 深圳更改wordpress语言
  • 网站主题定位修改Wordpress账号密码
  • 网站开发常见模块wordpress友情链接函数
  • 南京建设工程管理局网站搜狐快站装修网站建设
  • 网站开发 前端vue 后端c手机电脑网站设计
  • 网站各类模块内容说明导航网站是怎么做的
  • 自己做网站卖东西可以招投标网站的建设制作
  • 经营网站需要什么资质济南专业做网站
  • 网站建设金手指排名信誉百度云服务器做php网站
  • 珠海网站建设方案维护wordpress获得所有分类
  • 青海省住房和城乡建设厅门户网站做app需要什么技术
  • 湖南网站模板建站做西式快餐店网站