03 2025 档案

摘要:在MySQL中,主键索引和普通索引有以下主要区别: 1、唯一性:主键索引是唯一的,每个表只能有一个主键。这意味着主键的值在表中必须是唯一的。另一方面,普通索引允许在表中创建多个,并且索引的值也可以重复。 2、自动创建:当你在创建表时为某个字段设置为主键时,MySQL会自动为主键字段创建主键索引。但是 阅读全文
posted @ 2025-03-29 12:42 Zero&&One 阅读(170) 评论(0) 推荐(0)
摘要:JDK的乐观锁(CAS)和MySOL的乐观锁实现有一些区别,主要体现在以下几个方面 实现方式:JDK的乐观锁是通过原子类中的compareAndset()方法实现的,该方法使用CAS(Compare-and Swap)操作来保证原子性。而MYSQL的乐观锁通常是通过在数据库表中添加一个version 阅读全文
posted @ 2025-03-29 12:29 Zero&&One 阅读(32) 评论(0) 推荐(0)
摘要:在InnoDB存储引擎下,当你在一张表上建立了一个联合索引,并且查询时命中了这个索引,InnoDB会尽量使用这个索引来加速查询,然而,InnoDB是否走索引取决于多种因素,包括查询条件、索引覆盖情况以及优化器的选择等。 在以下情况下,InnoDB会选择走索引: 1、索引覆盖:如果查询条件只涉及到联合 阅读全文
posted @ 2025-03-29 11:57 Zero&&One 阅读(42) 评论(0) 推荐(0)
摘要:读未提交下: 增:插入数据后,给新插入的数据上记录锁,防止其它事务更改这条记录 删:需要获取到要删除的记录的记录锁,保证删除的时候其它事务没在使用这些数据,并保证删除后其它事务无法对这些数据进行操作 改:给需要更改的数据上记录锁 查:普通select不上锁,直接读最新数据,不管是否提交,select 阅读全文
posted @ 2025-03-29 01:03 Zero&&One 阅读(48) 评论(0) 推荐(0)
摘要:更新操作怎么上锁? 例如有字段a,b,c,其中a,b字段上有索引 update table set a = 1 where a = 2; 该SQL会先去a索引获取锁,然后去聚集索引获取锁,全部获取到后进行更新,不会去b索引上获取锁,因为该SQL没有更新b索引上数据(b索引的叶子节点数据只有b和id) 阅读全文
posted @ 2025-03-29 01:01 Zero&&One 阅读(105) 评论(0) 推荐(0)
摘要:1、第一步开启一个事务 2、接下来update SQL放往MySQL服务器层,然后经过SQL解析、词法分析和语法分析、查询优化等步骤,最终生成一个物理执行计划 3、MySQL执行器调用InnoDB引擎接口进行后面修改操作 4、在修改数据前需要先把数据查出来 5、把需要修改的数据行查出来之后,需要进行 阅读全文
posted @ 2025-03-27 11:58 Zero&&One 阅读(28) 评论(0) 推荐(0)
摘要:ZGC(The Z Garbage Collector)是JDK 11中推出的一款低延迟垃圾回收器,它的设计目标包括: 停顿时间不超过10ms; 停顿时间不会随着堆的大小,或者活跃对象的大小而增加; 支持8MB~4TB级别的堆(未来支持16TB)。 CMS与G1停顿时间瓶颈 在介绍ZGC之前,首先回 阅读全文
posted @ 2025-03-21 21:45 Zero&&One 阅读(133) 评论(0) 推荐(0)
摘要:分析查询语句:使用EXPLAIN命令分析SQL执行计划,找出慢查询的原因,比如是否使用了全表扫描,是否存在索引未被利用的情况等,并根据相应情况对索引进行适当修改。 创建或优化索引:根据查询条件创建合适的索引,特别是经常用于WHERE子句的字段、Orderby 排序的字段、Join 连表查询的字典、 阅读全文
posted @ 2025-03-19 17:45 Zero&&One 阅读(61) 评论(0) 推荐(0)
摘要:行级锁 MySQL 行锁是一种在数据库表中针对单个行记录进行锁定的机制,用于实现并发控制,确保在同一时间只有一个事务可以对特定的行进行修改,从而避免数据冲突和不一致性。 记录锁(Record Lock): 锁住某行记录,分为读写锁,事务提交后自动释放,例如select * from table_na 阅读全文
posted @ 2025-03-18 11:18 Zero&&One 阅读(54) 评论(0) 推荐(0)
摘要:1.连接器:建立连接,管理连接、校验用户身份; 2,查询缓存:查询语句如果命中查询缓存则直接返回,否则继续往下执行。MySQL8.0已删除该模块; 3,解析SQL:通过解析器对SQL查询语句进行词法分析、语法分析,然后构建语法树,方便后续模块读取表名、字段、语句类型 4,执行SQL:执行SQL共有三 阅读全文
posted @ 2025-03-18 11:09 Zero&&One 阅读(34) 评论(0) 推荐(0)
摘要:MySQL在执行SELECT语句时,遵循特定的执行顺序。以下是SELECT语句的执行步骤: FROM 子句:FROM子句是SQL语句的起点,决定了查询的数据源。在这一步,MySQL会确定查询的数据表 JOIN 操作:如果查询中包含多个表的联接操作,MySQL会在FROM子句后执行联接操作。 WHER 阅读全文
posted @ 2025-03-18 11:07 Zero&&One 阅读(66) 评论(0) 推荐(0)
摘要:读未提交下: 增:插入数据后,给新插入的数据上记录锁,防止其它事务更改这条记录 删:需要获取到要删除的记录的记录锁,保证删除的时候其它事务没在使用这些数据,并保证删除后其它事务无法对这些数据进行操作 改:给需要更改的数据上记录锁 查:普通select不上锁,直接读最新数据,不管是否提交,select 阅读全文
posted @ 2025-03-18 11:05 Zero&&One 阅读(38) 评论(0) 推荐(0)
摘要:MySQL服务端是允许多个客户端连接的,这意味着 MySQL 会出现同时处理多个事务的情况。 那么在同时处理多个事务的时候,就可能出现 脏读(dirtyread):如果一个事务「读到」了另一个「「未提交事务修改过的数据,就意味着发生了「脏读」现象。 不可重复读(non-repeatableread) 阅读全文
posted @ 2025-03-18 11:02 Zero&&One 阅读(55) 评论(0) 推荐(0)
摘要:InnoDB引擎支持的数据库查数据时,默认是锁行 在使用 InnoDB 引擎的 MySQL 查询数据时,默认情况下 是锁行,而不是锁表。InnoDB 引擎支持 行级锁,它会尽可能地使用行级锁来提高并发性能,避免不必要的锁竞争和死锁。 不过,具体会锁表还是锁行取决于以下几个因素: 1. 普通 SELE 阅读全文
posted @ 2025-03-18 10:52 Zero&&One 阅读(136) 评论(0) 推荐(0)
摘要:1、唯一索引等值查询 当我们用唯一索引进行等值查询的时候,查询的记录存不存在,加锁的规则也会不同: 当查询的记录是「存在」的,在索引树上定位到这一条记录后,将该记录的索引中的 next-key lock 会退化成「记录锁」。 当查询的记录是「不存在」的,在索引树找到第一条大于该查询记录的记录后,将该 阅读全文
posted @ 2025-03-18 10:51 Zero&&One 阅读(30) 评论(0) 推荐(0)
摘要:创新点: 构建LMOT数据集:开发了一种双摄像头系统,同步采集明暗视频帧,形成高度对齐的低光视频对,并提供高质量的多目标跟踪标注。该数据集包含大量城市户外场景视频,涵盖多种动态物体,为模型训练和评估提供了丰富的数据支持。 提出LTrack方法:引入自适应低通下采样模块(ALD),通过空间低通卷积提取 阅读全文
posted @ 2025-03-17 16:02 Zero&&One 阅读(127) 评论(0) 推荐(0)
摘要:设 mx=max(nums)。 右端点 right 从左到右遍历 nums。遍历到元素 x=nums[right] 时,如果 x=mx,就把计数器 cntMx 加一。 如果此时 cntMx=k,则不断右移左指针 left,直到窗口内的 mx 的出现次数小于 k 为止。此时,对于右端点为 right 阅读全文
posted @ 2025-03-17 13:04 Zero&&One 阅读(60) 评论(0) 推荐(0)
摘要:解题思路 从小到大枚举子串右端点 right,同时用哈希表/数组统计每种字母的出现次数。如果子串符合要求(三种字母都至少出现一次),则右移左端点 left,直到不符合要求为止。 滑动窗口的内层循环结束时,右端点固定在 right,左端点在 0,1,2,…,left−1 的所有子串都是合法的,这一共有 阅读全文
posted @ 2025-03-16 22:06 Zero&&One 阅读(31) 评论(0) 推荐(0)
摘要:四次挥手 客户端打算关闭连接,此时会发送一个 TCP 首部 FIN 标志位被置为 1 的报文,也即 FIN 报文,之后客户端进入 FIN_WAIT_1 状态。 服务端收到该报文后,就向客户端发送 ACK 应答报文,接着服务端进入 CLOSE_WAIT 状态。 客户端收到服务端的 ACK 应答报文后, 阅读全文
posted @ 2025-03-16 21:50 Zero&&One 阅读(82) 评论(0) 推荐(0)
摘要:MVCC允许多个事务同时读取同一行数据,而不会彼此阻塞,每个事务看到的数据版本是该事务开始时的数据版本。这意味着,如果其他事务在此期间修改了数据,正在运行的事务仍然看到的是它开始时的数据状态,从而实现了非阻塞读操作。 多版本并发控制,存在于读已提交与可重复读两个隔离级别下。读未提交下直接读最新的数据 阅读全文
posted @ 2025-03-16 09:44 Zero&&One 阅读(81) 评论(0) 推荐(0)
摘要:1、解析URL:分析 URL 所需要使用的传输协议和请求的资源路径。如果输入的 URL 中的协议或者主机名不合法,将会把地址栏中输入的内容传递给搜索引擎。如果没有问题,浏览器会检査 URL 中是否出现了非法字符,则对非法字符进行转义后在进行下一过程。 2、缓存判断:浏览器会判断所请求的资源是否在缓存 阅读全文
posted @ 2025-03-15 23:24 Zero&&One 阅读(164) 评论(0) 推荐(0)
摘要:先确定是服务端的问题,还是客户端的问题。先确认浏览器是否可以访问其他网站,如果不可以,说明客户端网络自身的问题,然后检查客户端网络配置(连接wifi正不正常,有没有插网线);如果可以正常其他网页,说明客户端网络是可以正常上网的。 如果客户端网络没问题,就抓包确认 DNS 是否解析出了 IP 地址,如 阅读全文
posted @ 2025-03-15 20:52 Zero&&One
摘要:三次握手 第一次握手(SYN): 客户端(Client)向服务器(Server)发起连接请求。 客户端随机初始化一个序列号(client_isn),并将 SYN 标志位置为1,表示是一个 SYN 报文。 发送 SYN 报文后,客户端进入 SYN-SENT 状态。 第二次握手(SYN+ACK): 服务 阅读全文
posted @ 2025-03-15 13:36 Zero&&One 阅读(198) 评论(0) 推荐(0)