排序
面试题:MySQL 的 Doublewrite Buffer 是什么?它有什么作用?
1. Doublewrite Buffer 的定义 Doublewrite Buffer(双写缓冲区)是 MySQL InnoDB 存储引擎 中的一个关键机制,用于解决 部分页写入失败(Partial Page Write) 问题。 内...
面试题:MySQL 的索引类型有哪些?
MySQL 的索引类型可以从多个维度进行分类,以下是常见的索引类型及其特点、适用场景和创建方式的总结: 一、按数据结构分类 B-Tree 索引(默认索引类型) 特点: 基于平衡多路搜索树(B+树)实...
面试题:在什么情况下,不推荐为数据库建立索引?
虽然索引在数据库中对于提高查询效率非常有用,但在某些特定情况下,建立索引可能并不是最佳选择。以下是一些不推荐为数据库建立索引的情况: 频繁更新的表:如果一个表中的数据频繁地被插入、...
面试题:MySQL 中有哪些锁类型?
在 MySQL 中,锁机制对于确保数据的一致性和完整性至关重要。MySQL 支持多种类型的锁,主要包括表级锁和行级锁,不同存储引擎对锁的支持有所不同。以下是 MySQL 中主要的锁类型: 表级锁(Table...
面试题:MySQL 的索引下推是什么?
MySQL 的索引下推(Index Condition Pushdown,简称 ICP)是什么? 索引下推是 MySQL 5.6 引入的一种查询优化技术,其核心目的是减少回表查询的次数,从而提升查询效率。它通过将部分 WHER...
面试题:如何解决 Redis 中的热点 key 问题?
解决 Redis 中的 热点 Key 问题(即某个 Key 被大量并发访问,导致 Redis 节点负载过高甚至崩溃)是高并发场景下的核心挑战之一。以下是常见的解决方案,结合理论与实际场景的分析: 1. 本...
面试题:MySQL 的 Change Buffer 是什么?它有什么作用?
MySQL 的 Change Buffer 是什么?它有什么作用? 1. 定义与核心作用 Change Buffer 是 MySQL InnoDB 存储引擎 中的一个关键优化机制,主要用于缓存对 非唯一二级索引(如普...
面试题:SQL 中 select、from、join、where、group by、having、order by、limit 的执行顺序是什么?
在 SQL 查询中,虽然我们书写查询语句的顺序是 SELECT, FROM, JOIN, WHERE, GROUP BY, HAVING, ORDER BY, 和 LIMIT,但数据库引擎执行这些操作的实际顺序与书写顺序并不完全相同。以下是SQL查询...
面试题:你们生产环境的 MySQL 中使用了什么事务隔离级别?为什么?
在生产环境中选择MySQL的事务隔离级别主要取决于应用的具体需求,包括数据一致性、并发性能以及可能出现的并发问题(如脏读、不可重复读和幻读)。 MySQL支持四种标准的事务隔离级别:READ UNCO...
面试题:Redis 的 hash 是什么?
在 Redis 中,Hash(哈希) 是一种数据结构,它可以存储一个字符串字段和值之间的映射关系。Redis 的 Hash 类似于编程语言中的字典或对象的概念,非常适合用来表示对象。每个 Hash 可以存储多达...
