
mysql
文章平均质量分 89
18你磊哥
大猪蹄子?
展开
-
MYSQL面试题50
答案:」幻读是指在同一个事务中多次执行相同的查询,但由于其他事务的插入操作导致结果集不一致的情况。具体来说,就是一个事务在读取某个范围内的记录时,另一个事务插入了一条新的记录到这个范围内,导致前一个事务再次读取时看到了之前不存在的记录。「MVCC」:通过为每个事务提供一个唯一的事务ID,InnoDB可以确保事务只看到在其开始之前已经提交的事务所做的修改。这保证了事务的一致性视图,从而避免了幻读。「间隙锁」:除了对记录本身加锁外,InnoDB还会对索引范围内的间隙(两个索引值之间的空间)加锁。原创 2025-04-27 08:30:00 · 713 阅读 · 0 评论 -
mysql的binlog,redolog,undolog作用
binlog(二进制日志)、redo log(重做日志)、undo log(回滚日志)是数据库系统中用于保证事务一致性、持久性和恢复能力的关键组件原创 2025-03-10 10:55:31 · 1430 阅读 · 0 评论 -
一张表多少记录,会成为大表?如何计算
没有固定阈值,需结合数据量、性能、硬件综合判断。原创 2025-03-11 08:30:00 · 691 阅读 · 0 评论 -
LRU链表如何解决低频但全表扫描问题
用户问的是LRU链表如何解决低频但全表扫描的问题。首先,我得回忆一下InnoDB的Buffer Pool机制,尤其是LRU链表的设计。传统LRU算法可能会因为全表扫描这种操作把大量的数据页加载到缓存中,挤掉真正的热点数据,导致缓存污染。用户可能想知道InnoDB是如何优化这个问题的,避免低频但大范围的扫描影响性能。接下来,我需要确认InnoDB的具体实现。记得InnoDB的LRU链表被分成了两个部分,New Sublist和Old Sublist,也就是所谓的midpoint insertion策略。原创 2025-03-08 10:00:00 · 445 阅读 · 0 评论 -
db为什么不用hash索引
数据库选择B树/B+树索引而非哈希索引,主要因其在范围查询、排序、磁盘I/O优化及动态数据管理上的综合优势。哈希索引虽在特定场景高效,但无法满足数据库多样化的查询需求。原创 2025-03-07 14:31:06 · 504 阅读 · 0 评论