数据库共127篇

面试题:MySQL 的 Change Buffer 是什么?它有什么作用?

MySQL 的 Change Buffer 是什么?它有什么作用? 1. 定义与核心作用 Change Buffer 是 MySQL InnoDB 存储引擎 中的一个关键优化机制,主要用于缓存对 非唯一二级索引(如普...
程序百科的头像-程序百科程序百科35天前
377

面试题:在 MySQL 中存储金额数据,应该使用什么数据类型?

在 MySQL 中存储金额数据时,推荐使用 DECIMAL 数据类型。这是金融领域和精确数值计算的行业标准选择,原因如下: 1. 为什么选择 DECIMAL? 精确性保障DECIMAL 是定点数类型,能够避免浮点型(F...
程序百科的头像-程序百科程序百科1个月前
3615

面试题:Redis Zset 的实现原理是什么?

Redis 的 ZSet(有序集合) 是 Redis 提供的一种高性能数据结构,既能保证元素的 唯一性,又能通过 分数(Score)进行排序。其底层实现结合了 跳表(Skip List) ...
程序百科的头像-程序百科程序百科35天前
3615

面试题:MySQL 中的 MVCC 是什么?

MySQL 中的 MVCC(Multi-Version Concurrency Control,多版本并发控制) 是一种用于提高数据库并发性能的核心机制,通过维护数据的多个版本来实现 读-写冲突的非阻塞处理,从而...
程序百科的头像-程序百科程序百科35天前
3614

面试题:MySQL 的 Doublewrite Buffer 是什么?它有什么作用?

1. Doublewrite Buffer 的定义 Doublewrite Buffer(双写缓冲区)是 MySQL InnoDB 存储引擎 中的一个关键机制,用于解决 部分页写入失败(Partial Page Write) 问题。 内...
程序百科的头像-程序百科程序百科37天前
3614

面试题:在什么情况下,不推荐为数据库建立索引?

虽然索引在数据库中对于提高查询效率非常有用,但在某些特定情况下,建立索引可能并不是最佳选择。以下是一些不推荐为数据库建立索引的情况: 频繁更新的表:如果一个表中的数据频繁地被插入、...
程序百科的头像-程序百科程序百科1个月前
366

面试题:分布式锁在未完成逻辑前过期怎么办?

在分布式锁的应用场景中,如果持有锁的客户端在完成其业务逻辑之前锁就已经过期了,这会导致其他竞争的客户端可能获取到同一把锁,从而引发并发问题。 这种情况通常被称为“锁丢失”问题。为了...
程序百科的头像-程序百科程序百科12天前
368

面试题:SQL 中 select、from、join、where、group by、having、order by、limit 的执行顺序是什么?

在 SQL 查询中,虽然我们书写查询语句的顺序是 SELECT, FROM, JOIN, WHERE, GROUP BY, HAVING, ORDER BY, 和 LIMIT,但数据库引擎执行这些操作的实际顺序与书写顺序并不完全相同。以下是SQL查询...
程序百科的头像-程序百科程序百科1个月前
3512

面试题:MySQL 中有哪些锁类型?

在 MySQL 中,锁机制对于确保数据的一致性和完整性至关重要。MySQL 支持多种类型的锁,主要包括表级锁和行级锁,不同存储引擎对锁的支持有所不同。以下是 MySQL 中主要的锁类型: 表级锁(Table...
程序百科的头像-程序百科程序百科35天前
357

面试题:Redis 的 hash 是什么?

在 Redis 中,Hash(哈希) 是一种数据结构,它可以存储一个字符串字段和值之间的映射关系。Redis 的 Hash 类似于编程语言中的字典或对象的概念,非常适合用来表示对象。每个 Hash 可以存储多达...
程序百科的头像-程序百科程序百科4天前
3415