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

影院网站怎么做英文字母设计logo生成器

影院网站怎么做,英文字母设计logo生成器,微信用网站怎么做,虚拟主机wordpress技多不压身#xff01; 大家好#xff0c;我是 javapub。 今天一个朋友找我吐槽#xff0c;说自己平时在工作中几乎用不到需要上锁的场景#xff0c;就算有也只是并发很小、或者直接从有业务设计上就规避掉了。但一到面试#xff0c;都是各种锁题#xff0c;很头疼。 面… 技多不压身 大家好我是 javapub。 今天一个朋友找我吐槽说自己平时在工作中几乎用不到需要上锁的场景就算有也只是并发很小、或者直接从有业务设计上就规避掉了。但一到面试都是各种锁题很头疼。 面试造火箭的现象是这个行业的一个常态而且掌握底层知识真的可以帮助我们更好的做好技术设计。所以我劝他不要抵触等学会的知识点多了融会贯通学其他的东西也会快很多。 2.1 共享锁/排它锁 共享锁S锁和排它锁X锁是最基础的锁类型用于操作对数据的读取和写入。 通过名字我们也可以看出这两个锁的作用。当事务要读取一条记录时先获取该记录的S锁当事务要改动一条记录时先获取该记录的X锁。 通过这个图可以知道什么情况下可以获得 S 锁和 X 锁。可以看到只有都是共享锁时才可以同时在一行记录加锁。 例子 加共享锁共享锁允许其他事务读取这些行但不允许其他事务修改或删除这些行直到当前事务结束。 SELECT ... LOCK IN SHARE MODE; 加共享锁 --- SELECT * FROM user WHERE id1 LOCK IN SHARE MODE;加排他锁相当于是独占记录。当一个事务对某行数据加上排他锁后其他事务既不能读取也不能修改这些数据直到持有排他锁的事务结束。 SELECT ... FOR UPDATE; 加排他锁 --- START TRANSACTION; SELECT * FROM table_name WHERE condition FOR UPDATE; -- 执行一些更新操作 UPDATE table_name SET column value WHERE condition; COMMIT;2.2 行锁/临键锁 行锁 行锁通常在执行涉及单个行的操作时自动应用例如 SELECT 语句中的 FOR UPDATE 子句这会为查询结果中的每行添加排他锁。也就是上面说到的例子。 START TRANSACTION; SELECT * FROM table_name WHERE id 1 FOR UPDATE; -- 在此事务中id为1的行将被锁定其他事务不能修改或读取这行 COMMIT;临键锁 临键锁结合了记录锁和间隙锁用于行级锁定和范围查询防止幻读。我们一般无法判断是行锁还是临键锁都是行锁的形式由存储引擎在执行查询时自动管理决定的。 START TRANSACTION; SELECT * FROM table_name WHERE id BETWEEN 1 AND 10 FOR UPDATE; -- 这将锁定id在1到10之间的所有行以及可能的下一个键值 COMMIT;2.3 意向锁 意向锁是针对多粒度锁定协议的系统比如行粒度锁、表粒度锁。当一个事务打算在某个细粒度上请求锁共享锁|排他锁它会首先在更粗力度上设置意向锁。 意向共识锁 - 简称 IS 意向排他锁 - 简称 IX 例子如果一个事务要对一张表加排他锁它会先在表级别加上意向排他锁然后对表中的特定行加排他锁。 2.4 间隙锁/插入意向锁 间隙锁和插入意向锁针对实现了多版本并发控制MVCC的系统中如 MySQL 的 InnoDB 存储引擎。 间隙锁Gap Locks 间隙锁是一种行锁它锁定一个范围内的间隙但不锁定该范围内的任何具体行。间隙锁主要用于防止其他事务在这个间隙中插入新的行从而维护数据的顺序性和一致性。 间隙锁通常在执行范围查询并加上共享或排他锁时自动应用。例如如果一个事务执行了 SELECT ... WHERE index_column BETWEEN x AND y LOCK IN SHARE MODE InnoDB 会在索引列 x 和 y 之间的间隙上设置间隙锁防止其他事务在这个范围内插入新行。 示例 START TRANSACTION; SELECT * FROM table_name WHERE id BETWEEN 10 AND 20 LOCK IN SHARE MODE; -- 在id为10到20的范围内设置间隙锁 COMMIT;插入意向锁Insert Intention Locks 插入意向锁是一种特殊的间隙锁它表明一个事务有意向在某个间隙中插入新行。 当一个事务想要在一个已经被其他事务加上间隙锁的范围内插入新行时它会首先在该范围内设置一个插入意向锁。 插入意向锁允许多个事务保留在特定间隙中插入新行的意图而不直接与间隙锁冲突。这样当间隙锁被释放时持有插入意向锁的事务可以继续执行插入操作。 示例 START TRANSACTION; -- 假设另一个事务已经在id为10到20的范围内设置了间隙锁 SELECT * FROM table_name WHERE id 15 FOR UPDATE; -- 这将设置一个插入意向锁表明事务有意向在id为10到20的范围内插入新行 COMMIT;2.5 自增锁 自增锁Auto-Increment Locks简称AI Locks是MySQL数据库中InnoDB存储引擎特有的一种锁机制它与自增字段AUTO_INCREMENT相关联。AUTO_INCREMENT 你一定不陌生我们在建表时多数情况都会让主键 id 自增来生成唯一序列。 当一个表中包含自增字段时InnoDB 会使用自增锁来确保在并发环境下自增字段生成的值是唯一的并且连续的。 示例 START TRANSACTION; INSERT INTO table_name (auto_increment_column, other_columns) VALUES (NULL, value1); -- InnoDB分配自增值并锁定它 COMMIT; -- 自增锁在事务提交时释放在这个示例中auto_increment_column 是一个自增字段。当事务提交时InnoDB 会分配一个新的自增值给插入的行并在事务提交时释放自增锁。 2.6 外键锁 外键Foreign Key是一种数据库完整性约束它用于维护两个表之间的链接并确保引用的数据的完整性。 外键锁顾名思义就是针对外键的。外键锁并不是一个标准的锁类型而是指与外键约束相关的锁定行为这些行为确保在执行涉及外键的插入或更新操作时数据库的完整性不被破坏。 外键锁这个术语并不是用来描述一种特定的锁类型而是用来描述与外键约束相关的锁定行为。数据库系统会自动处理这些锁定以确保数据的完整性和一致性。 2.7 表锁/页锁 表锁和页锁是两种不同粒度的锁 表锁Table Locks 表锁是锁定整个表的锁这意味着在锁定期间没有其他事务可以对这张表进行读写操作。表锁通常用于批量操作如全表扫描或全表更新以及在不需要频繁锁定和解锁单个行的场景中。 特点 粒度较大表锁影响整个表的所有数据因此粒度较大。冲突较少由于锁定了整个表减少了锁冲突的可能性但在高并发环境下可能导致其他事务长时间等待。使用场景适用于全表操作如全表备份或全表删除。 示例 LOCK TABLES table_name WRITE; -- 在此期间其他事务不能访问table_name UNLOCK TABLES;页锁Page Locks 页锁是锁定数据库中的一个“页”的锁。在许多数据库系统中数据是按页存储的每页包含一定数量的行。页锁允许多个事务同时访问不同的页从而提供比表锁更细粒度的并发控制。 特点 粒度较小页锁锁定的是数据页而不是整个表因此粒度较小。并发性更好允许多个事务并发访问不同的数据页提高了并发性能。使用场景适用于需要较高并发性能的场景尤其是在大型表上进行部分数据的读写操作。 注意页锁通常由数据库管理系统自动管理不需要用户显式操作。例如在InnoDB存储引擎中虽然页锁不是用户可以直接控制的锁类型但InnoDB会根据需要自动在页级别上应用锁。 总结 粒度行锁 页锁 表锁从细到粗。
http://www.tj-hxxt.cn/news/232638.html

相关文章:

  • o2o商城上的二级网站毕业设计做网站哪种好
  • 网站百度搜索情况和反链接优化建议怎么做网站代销
  • jsp做网站实例教程品牌网站制作公司哪家好
  • 商务网站价格办公室设计图平面布置图
  • 问答推广秦皇岛优化网站排名
  • 搬瓦工做网站网站的结构与布局优化设计
  • 门户网站建设 请示网站添加什么东西才能和用户体验
  • 怎么看网站有没有备案苏州专业网站建设定制
  • 哪里有卖自己做的网站网站语言
  • 衡阳百度网站建设纸业建站服务
  • 龙泉市建设局网站深圳条幅制作
  • 云南建设注册考试中心网站厦门网站开发网络公司
  • 衡水企业网站建设公司wordpress运行
  • pc 手机网站 微站营销型网站建设是什么意思
  • 重庆网站制作服务阳江市网络问政
  • 利用第三方做网站永久发布地址跨境购网站建设
  • 珠海做网站wordpress教育类主题
  • 移动网站建设书籍推荐电子商务平台经营者所具备的功能
  • 企业网站建设制作设计哪家最专业小米官网页面
  • 网站的跳出率wordpress视屏
  • 网站设计简单吗网站建设方案平台
  • 如何在虚拟机中建设网站wordpress windows 伪静态
  • 昨天正常的网站突然显示建设中网站开发使用的工具
  • 建设部招标网 官方网站wordpress主题移动
  • 加强网站建设工作德州建设网站
  • 北京专业响应式网站建设怎么建设一个人自己网站
  • 腾讯云服务器搭建网站多少钱一个网站
  • 深圳网站建设开发哪家好免费制作视频的软件有哪些
  • 南昌公司建设网站费用怎样开通微信小程序卖东西
  • 做电容元器件的网站有哪些阿里巴巴国际站入驻费用