数据库共127篇

面试题:MySQL 的覆盖索引是什么?

MySQL 的覆盖索引是什么? 覆盖索引(Covering Index) 是 MySQL 中一种优化技术,指查询所需的所有字段都包含在某个索引中,使得 MySQL 可以直接通过索引获取数据,而无需回表查询实际的...
程序百科的头像-程序百科程序百科1年前
7411

面试题:Redis 中如何实现分布式锁?

在 Redis 中实现分布式锁可以通过多种方式,但最常见和推荐的方式是利用 Redis 的原子操作命令来确保锁的正确获取和释放。以下是一个基于 Redis 实现分布式锁的基本方法,以及一些最佳实践和注...
程序百科的头像-程序百科程序百科1年前
736

场景题:如何实现数据库的不停服迁移?

实现数据库的不停服迁移是许多企业系统升级或架构调整时的核心需求,以下是几种成熟的解决方案: 一、主流迁移方案对比 方案适用场景停机时间复杂度数据一致性保证主从复制版本升级、机房迁移秒...
程序百科的头像-程序百科程序百科1年前
739

面试题:MySQL 中的事务隔离级别有哪些?

MySQL 中的事务隔离级别用于控制事务之间的可见性,确保数据库在高并发场景下的数据一致性。MySQL 支持四种事务隔离级别,从低到高依次为: 1. 读未提交(Read Uncommitted) 定义:允许一个事...
程序百科的头像-程序百科程序百科1年前
7313

面试题:说说 Redisson 分布式锁的原理?

Redisson 是一个基于 Redis 的 Java 客户端,它封装了分布式锁的实现,解决了传统 SETNX 等方法的局限性。其核心原理围绕 原子性、安全性 和 自动续期 设计,以...
程序百科的头像-程序百科程序百科1年前
738

面试题:Redis 和 Memcached 有哪些区别?

Redis 和 Memcached 都是高性能的内存键值存储系统,但它们在功能、性能和使用场景上存在一些关键差异。以下是它们的主要区别: 一、数据类型支持 Redis:支持多种数据结构,包括字符串(String...
程序百科的头像-程序百科程序百科1年前
7211

面试题:Redis Cluster 模式与 Sentinel 模式的区别是什么?

Redis 的 Sentinel 模式 和 Cluster 模式 是两种不同的高可用(HA)解决方案,它们在架构设计、功能特性和适用场景上有显著区别。以下是两者的详细对比: 1. 核心功能与目...
程序百科的头像-程序百科程序百科1年前
715

面试题:MySQL 中的数据排序是怎么实现的?

MySQL 中的数据排序主要通过 排序算法 和 索引的有序性 实现,具体逻辑与存储引擎(如 InnoDB)、查询语句、数据量密切相关。以下是其核心实现原理和流程: 一、核心逻辑:...
程序百科的头像-程序百科程序百科1年前
7111

面试题:什么是数据库的游标?

数据库游标是什么? 游标(Cursor) 是数据库中用于逐行处理查询结果集的机制。它像一个指针,指向结果集中的某一行,允许开发者按顺序(或随机)访问、修改结果集中的每一行数据。游标的核心作...
程序百科的头像-程序百科程序百科1年前
7110

面试题:MySQL 插入一条 SQL 语句,redo log 记录的是什么?

当 MySQL 执行一条插入(INSERT)SQL 语句时,redo log(重做日志)记录的是物理层面的页修改,而不是 SQL 语句本身。具体来说: 1. redo log 记录的内容 redo log 主要记录以下信息: 被修改的...
程序百科的头像-程序百科程序百科1年前
7110