自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1091)
  • 资源 (1)
  • 收藏
  • 关注

转载 2025年Java面试题

AOF和RDB是两种redis持久化的机制。重写和重载的区别ssm原理servlet生命周期自定义注解说一说sleep和wait的区别map的遍历方式有几种线程有几种创建方式说一下图论算法int有4个字节mysql的联合索引linux怎么查看端口号netstat -tunpl | grep 端口号fegin怎么暴露出来 fegin有哪些注解hashMap不是线程安全的,ConcurrentHashMap 是线程安全的 redis和mysql的事物有那么一些不一样redis幂等

2022-06-25 09:23:02 2973

转载 什么是QPS?

QPS(每秒查询率)指系统1秒内成功处理的请求数量。例如,若用户在10秒内发起5000次HTTP请求且全部处理成功,则QPS=5000/10=500,表示系统平均每秒能处理500个请求。该指标直接反映服务器的处理能力。

2026-01-06 00:22:20 4

转载 什么是tp99?

TP99是衡量系统性能的重要指标,指将所有请求响应时间按升序排列后处于99%位置的数值。该指标表示99%的请求响应时间都小于或等于这个值,能有效反映系统在绝大多数情况下的响应能力,尤其关注尾部延迟情况,比平均响应时间更能体现系统稳定性。

2026-01-06 00:19:07 6

原创 git之解决代码冲突

本文介绍了使用Git解决代码冲突的步骤:首先拉取最新代码,若仍有冲突则进行合并操作。在合并界面中,左边显示本地代码,中间为合并结果,右边是远程分支代码。通过左右箭头选择最终代码到中间区域,点击Apply确认合并。最后将解决冲突后的代码推送到远程分支,并确认更新成功。该流程清晰地展示了Git冲突解决的关键操作步骤。

2026-01-01 00:26:45 194

原创 git和master分支进行对比差异

摘要 本文介绍了使用Git比较分支间代码差异的操作步骤:1)右键项目选择Git→Compare with Branch;2)选择origin/master作为比较目标分支;3)选择Test实体类后,系统会并列显示master分支和dd3分支的代码内容,并高亮标注两者之间的差异。该功能可帮助开发者快速识别不同分支间的代码变更情况。

2026-01-01 00:03:57 371

转载 数据页和索引页有什么区别?

文章摘要:索引页和数据页在数据库存储结构中扮演不同角色。索引页作为路径指向数据页,存储索引键值和指针/主键值,但不包含完整行数据。主键索引的叶子节点是数据页,直接存储完整行记录;而索引页则存储主键索引和二级索引的非叶子节点信息,以及二级索引叶子节点的索引键值和主键值。相比数据页存储的完整行数据,索引页存储的索引键和指针/主键值通常占用更小空间,这种设计提高了数据库查询效率并优化了存储空间使用。

2025-12-14 20:35:53 22

转载 mysql中的索引页是什么?

摘要:索引页是B+树索引结构的存储单元,默认16KB大小。主键索引的叶子节点存储完整行数据,二级索引则存储键值和主键。叶子节点通过双向链表连接以支持范围查询,非叶子节点保存键值和子节点指针。索引页内部采用槽式记录组织,支持高效的二分查找操作。

2025-12-14 20:34:32 19

转载 mysql的索引页也是数据页吗?

索引页是数据页的一种特殊类型,专门用于存储索引数据结构。它通过组织索引信息来提高数据查询效率,是数据库系统中优化检索性能的重要组成部分。索引页与其他数据页共同构成数据库的存储结构,但专注于索引信息的维护和快速访问。

2025-12-14 20:33:22 21

转载 mysql的列为什么要设置not null default ‘‘?

摘要:建议将字段设置为NOT NULL DEFAULT '',避免空字符串和NULL同时存在。这样可以减少二级索引的存储空间(仅存储空字符串),提高查询效率(无需特殊处理NULL值),同时空字符串的等值查询比NULL查询更高效。该设置能优化存储空间和查询性能。

2025-12-14 02:01:17 30

转载 mysql空字符串和null的区别?

本文对比了空字符串和NULL在数据库中的差异:1)空字符串可等值比较,NULL则返回unknown;2)存储上,空字符串占1字节,NULL仅占标记位更省空间;3)统计时count计入空字符串但不计NULL;4)二级索引中空字符串查询性能优于NULL;5)排序时NULL被视为最小值,升序排在前面。这些差异涉及比较逻辑、存储机制、统计计算、查询性能和排序规则等方面。

2025-12-14 01:46:24 38

转载 null有索引和没索引怎么存储?

文章摘要:MySQL中NULL值的存储方式取决于是否存在索引。若有索引,NULL值会存储在二级索引中,并与聚集索引存放在相同或相邻的索引页;若无索引,NULL值则直接存储在主键索引的行数据中,表现为字段值为NULL的记录。这两种存储方式体现了MySQL对NULL值的不同处理机制。

2025-12-13 21:21:53 18

转载 ‘‘空字符串有索引和没索引怎么存储?

本文探讨了数据库索引的存储方式。当存在二级索引时,空值会被单独存储在索引结构中,如示例("",id=1)所示;若无索引,则空值会直接存储在主键索引的行数据中,如(id=1,name="",pwd="123")的格式。两种情况分别展示了索引对空值存储位置的影响,揭示了数据库系统处理空字段的不同机制。

2025-12-13 21:01:07 12

转载 为什么 name = null查询不到数据,而name is null查询到数据?

SQL中比较NULL值时需要注意,NULL=NULL会返回UNKNOWN而非TRUE,导致查询不到数据。正确的方法是使用IS NULL或IS NOT NULL操作符,它们会返回明确的TRUE/FALSE结果。

2025-12-13 20:54:41 19

转载 事务的四大特性

事务的四大特性(ACID)是数据库系统的核心原则:原子性确保事务操作要么全部完成要么全部回滚;一致性保证数据库从一个有效状态转变为另一个有效状态;隔离性防止并发事务间的相互干扰;持久性确保已提交事务的数据永久保存。这些特性共同保障了数据库操作的可靠性和完整性。

2025-12-07 23:52:06 26

转载 mysql为什么选择使用b+树,而不是b树呢?

B+树和B树在存储结构上有显著差异。B+树仅叶子节点存储数据,非叶子节点存放索引和指针,这使得树高度更低、查询性能稳定,且通过叶子节点的双向链表优化了范围查询。而B树所有节点都可存储数据,导致空间占用大、查询时间不稳定,范围查询需中序遍历并回溯父节点,效率较低。因此,B+树在数据库索引中更具优势。

2025-12-06 00:04:11 23

转载 innodb存储引擎默认使用的是b树还是b+树?

1.b+树。

2025-11-30 21:54:18 16

转载 数据页的存储结构?

本文摘要概述了数据库页面的内部结构,主要包含七个组成部分:文件头存储指针和校验信息;页面头部记录槽数量、空闲空间等信息;最小和最大虚拟记录界定逻辑边界;用户记录存储实际数据;空闲空间为未使用区域;页目录实现快速查找;文件尾部用于数据完整性校验。这些组件共同构成了数据库页面的完整架构,支持高效的数据存储和检索功能。

2025-11-30 21:44:42 25

转载 如何避免或者减少页分裂?

使用自增主键或雪花算法等递增ID可避免页分裂,新数据会追加到最后一页。同时设置合适的字段长度能增加单页数据量,进一步减少页分裂频率。这两种方法都能优化数据库性能。

2025-11-29 03:21:37 18

转载 什么是页分裂?

页分裂是数据库维护索引有序性的机制。当已满的数据页需要按索引顺序插入新数据时,系统会将原页分裂为两个新页,并将部分数据迁移到新页中。这一过程确保索引结构保持有序,但会带来额外的I/O开销和存储空间占用。

2025-11-29 03:13:40 19

转载 什么是数据页?

MySQL采用16KB固定大小的数据页存储多行数据,作为磁盘与内存间数据传输的基本单位。这种标准化设计优化了I/O效率,通过批量读写减少磁盘操作次数,同时便于内存管理和缓存机制实现,有效提升数据库性能。

2025-11-22 20:24:56 21

转载 b+树的层高是怎么计算的?

摘要:通过B+树索引结构分析存储容量:1)非叶子节点每页可存1170个键值-指针对(16KB/14B);2)叶子节点每页存16条1KB记录(16KB/1KB);3)3层结构(2层索引+1层数据)时,总存储量达约2000万条数据(1170×1170×16)。该计算展示了B+树高效支持海量数据查询的存储原理。

2025-11-16 16:34:32 31

转载 mysql中的元数据是什么?

本文概述了数据库中的元数据概念。元数据指描述数据库对象及其属性的数据信息,主要包括表结构、列定义、索引、权限设置、约束条件以及字符集配置等。此外,还涉及视图、存储过程、触发器、函数等程序对象,以及表空间管理和分区方案等存储结构信息。这些元数据共同构成了数据库系统的完整数据字典,为数据库管理和应用开发提供了基础支撑。

2025-11-16 15:45:42 26

转载 记录锁的主要类型

摘要:记录锁主要有排它锁和共享锁两种类型。排它锁(X锁/写锁)用于数据修改时锁定,加锁后其他事务不能读写该行。共享锁(S锁/读锁)用于数据读取时锁定,加锁后其他事务只能读取不能修改该行。这两种锁机制确保了数据库事务的隔离性和数据一致性。

2025-11-09 23:45:24 27

转载 什么是记录锁?

本文主要介绍了MySQL中记录锁的实现机制。记录锁是行锁的一种,用于锁定索引记录防止并发修改。对于聚簇索引,直接锁定叶子节点的完整行数据;对于非聚簇索引(二级索引),会先在索引叶子节点加锁,再通过主键回表到聚簇索引锁定对应的完整行数据,因此需要加两把锁。举例说明:修改主键id=1时只需锁定聚簇索引行数据,而修改name='张三'这样的非聚簇索引时,需要先在name索引加锁,再回表到主键索引加锁。

2025-11-09 23:40:26 30

转载 什么是表锁?

表锁是一种锁定整个表的机制,其优点是开销较小且不易出现死锁情况,操作相对简单。然而,由于锁定范围过大,表锁的并发性能较差,当多个事务需要访问同一表的不同数据时,会出现阻塞现象,影响系统吞吐量。这种锁机制适合对并发要求不高的场景,但对于高并发系统则不够高效。

2025-11-09 23:36:22 26

转载 行锁的优点和缺点?

行级锁的优点是锁定粒度小,仅锁住单行数据,能有效减少锁冲突;缺点是系统开销较大,需要维护大量锁对象,可能影响性能。

2025-11-09 23:27:20 22

转载 什么是行锁?

行锁是数据库锁定机制中的一种实现方式,针对表中的单行或多行数据进行锁定。它包含三种具体类型:记录锁(锁定索引记录)、间隙锁(锁定索引区间)和临键锁(组合锁)。其中,记录锁是最基本的实现方式,通过锁定索引记录来实现行锁功能。行锁概念与具体实现方式存在差异,实际应用中往往通过记录锁来完成行级锁定操作。

2025-11-09 23:22:11 24

转载 什么是临键锁

摘要:临键锁是记录锁和间隙锁的组合,用于RR隔离级别下防止幻读问题。它锁定索引记录本身及之前的间隙,其中间隙锁阻止插入,记录锁阻止修改和删除。例如锁住(5,10]区间时,不允许删除或修改id=10的记录,也不允许插入6-9的新记录。(100字)

2025-11-09 23:18:02 23

转载 什么是间隙锁

摘要:间隙锁锁定的是记录间的范围区间(开区间),不包含边界记录本身。例如锁定id范围(5,10)时,会阻止id为6、7、8、9的新记录插入,但允许对现有记录进行修改或删除操作。这种锁机制主要用于防止幻读问题,确保事务范围内的数据一致性。

2025-11-09 23:16:37 21

转载 为什么rc读取已提交的隔离级别下会出现幻读?

快照读时RC隔离级别会生成新的ReadView并获取最新数据,导致每次查询可能返回不同行数,从而出现幻读现象。该问题源于RC模式下不保证可重复读的特性,允许事务期间看到其他事务提交的新增数据。

2025-11-09 17:21:26 26

转载 编写一条sql,查询英语成绩大于80,前5的学生姓名

本文介绍了MySQL数据库中创建学生表和成绩表的结构,并演示了如何使用窗口函数进行成绩排名。数据库包含学生信息表(xuesheng)和成绩表(xscj),存储了10名学生在数学、英语和语文三科的成绩数据。重点展示了使用dense_rank()窗口函数对英语成绩进行排名查询的SQL语句,该函数实现了同分并列且不跳过名次的功能。查询结果显示了英语成绩高于80分的前5名学生及其排名,其中赵六以96分排名第一,李四和西风同分并列第五。这为学生成绩分析提供了有效的排名统计方法。

2025-11-09 01:20:53 26

转载 使用shell脚本写一个for循环

该脚本是一个简单的bash循环程序,使用for循环输出1到5的数字。每次循环都通过echo命令显示当前数字。最后通过./aa.sh命令执行该脚本,但实际脚本名称应为viaa.sh。脚本功能是展示基本的bash循环语法。

2025-11-08 23:18:33 27

转载 linux下查看磁盘剩余空间命令

df -h。

2025-11-08 23:09:11 27

转载 一条update语句执行过程会先后写入那个日志?

MySQL事务日志机制主要包括四种日志:undolog记录事务前的数据状态用于回滚;redolog(准备阶段)存储事务修改的数据页,确保持久化;binlog记录所有数据变更,用于主从复制;redolog(提交阶段)在事务提交时将修改持久化到磁盘。这些日志共同保障了事务的ACID特性、数据恢复和数据库高可用性。

2025-11-08 23:02:57 25

转载 b+树的缺点?

B树通过节点分裂和合并来维持平衡,虽然插入和删除操作较耗时,但能保证高效查询。其特点在于节点空间利用率不完全饱和,这种设计在存储效率和操作性能之间取得平衡,适用于磁盘存储等场景。

2025-10-26 21:08:44 21

转载 b+树的优点?

B+树通过3-4层固定大小节点减少磁盘IO,提升查询性能。其叶子节点形成双向链表,优化范围查询效率。每次查询从根节点到叶子节点的路径稳定,保证均衡性能。由于数据仅存储在叶子节点,B+树全表扫描比B树更快。这种结构设计兼顾了单点查询和批量操作的效率,是数据库索引的理想选择。

2025-10-26 20:42:42 30

转载 Redis如何实现分布式锁?

Redis实现分布式锁的三种方式:1)使用SETNX命令配合过期时间设置,简单但存在原子性问题;2)采用Redis+Lua脚本保证操作原子性,更可靠;3)通过Redisson中间件自动处理锁机制,具备可重入、续期等高级特性,企业级推荐方案。三种方式在可靠性和复杂度上各有优劣。

2025-10-19 16:01:14 29

转载 redis如何实现持久化,redis持久化机制?

Redis提供RDB和AOF两种持久化机制:RDB通过定时快照保存数据,恢复快但可能丢失近期数据;AOF记录所有写操作命令,安全性高但恢复较慢。实际生产中通常两者配合使用,优先使用AOF文件恢复数据,在保证数据安全的同时兼顾恢复效率。

2025-10-18 20:56:14 32

转载 什么情况下需要使用消息队列/消息队列使用场景?

消息队列在异步场景中具有重要作用,可用于订单超时取消(如30分钟内未支付自动取消)、系统间数据同步以及抢购商品的请求排队。它能有效解耦系统,提高处理效率,确保关键业务逻辑可靠执行。

2025-10-18 18:03:06 42

转载 MySQL的事务特性和隔离级别,可重复读保障?

事务具有ACID特性:原子性、一致性、隔离性、持久性。隔离级别包括读未提交、读已提交、可重复读和串行化。可重复读隔离级别通过MVCC多版本并发控制和ReadView快照读解决不可重复读问题,同时利用间隙锁和临键锁防止幻读现象,确保事务执行过程中数据的一致性。

2025-10-18 00:46:25 33

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除