排序
面试题:什么是 Write-Ahead Logging (WAL) 技术?它的优点是什么?MySQL 中是否用到了 WAL?
Write-Ahead Logging (WAL) 是一种用于确保数据完整性和加速数据库恢复过程的技术。 其基本思想是在对数据进行修改之前,先将这些修改操作的日志记录写入持久存储(通常是磁盘)。 只有当日志成...
面试题:在 MySQL 中,你使用过哪些函数?
作为开发者,我在 MySQL 中经常使用以下各类函数: 一、字符串函数 基础处理函数: CONCAT(str1, str2,...) - 字符串连接 SUBSTRING(str, pos, len) - 提取子串 TRIM([BOTH|LEADING|TRAILING]...
面试题:MySQL 中长事务可能会导致哪些问题?
在 MySQL 中,长事务(长时间运行的事务)可能会对数据库性能、稳定性和一致性造成多方面的影响。以下是长事务可能导致的主要问题及解决方案: 1. 锁等待和死锁 问题: 锁资源占用:长事务会长...
面试题:Redis 主从复制的常见拓扑结构有哪些?
Redis 主从复制的常见拓扑结构主要有以下三种,每种结构适用于不同的业务场景,具有独特的优缺点: 1. 一主一从结构 描述:最简单的主从结构,一个主节点(Master)对应一个从节点(Slave)。主...
面试题:Redis 中常见的数据类型有哪些?
Redis 支持多种数据类型,每种数据类型都针对特定的使用场景进行了优化。以下是 Redis 中常见的数据类型及其简要介绍: String(字符串) 最基础的数据类型,可用于存储文本或二进制数据。 支持...
面试题:从 MySQL 获取数据,是从磁盘读取的吗?(buffer pool)
1. 核心结论 不一定。MySQL 的数据读取优先从内存中的 Buffer Pool 获取,只有在 Buffer Pool 缺失时才从磁盘读取。 Buffer Pool 是 InnoDB 存储引擎的核心组件,通过缓存数据页(16KB)和索引...
面试题:MySQL InnoDB 引擎中的聚簇索引和非聚簇索引有什么区别?
MySQL InnoDB 引擎中聚簇索引与非聚簇索引的区别 1. 定义与核心特性 特性聚簇索引(Clustered Index)非聚簇索引(Non-Clustered Index / 二级索引)定义数据行的物理存储顺序与索引的逻辑顺序...
面试题:Redis 中如何保证缓存与数据库的数据一致性?
在使用 Redis 作为缓存层时,确保缓存与数据库之间数据的一致性是一个挑战。通常来说,完全避免不一致几乎是不可能的,但可以通过一些策略和技术来最小化这种不一致性。以下是几种常见的处理方...
面试题:MySQL 三层 B+ 树能存多少数据?
MySQL 三层 B+ 树存储容量分析 要计算 MySQL 中三层 B+ 树能存储多少数据,我们需要考虑以下几个关键因素: 1. B+ 树结构特点 非叶子节点:只存储键值和指针(不存储实际数据) 叶子节点:存储...
面试题:MySQL 中 count(*)、count(1) 和 count(字段名) 有什么区别?
在 MySQL 中,COUNT(*)、COUNT(1) 和 COUNT(字段名) 都是用于计算行数的聚合函数,但它们之间有一些细微的区别: 1. COUNT(*) 作用:计算表中所有行的数量,包括含有 NULL 值的行。 性能:MySQL...