排序
面试题:什么是分库分表?分库分表有哪些类型(或策略)?
分库分表的定义 分库分表是一种数据库优化技术,用于解决单库单表性能瓶颈的问题。当数据量过大或并发访问压力过高时,将原本集中存储的数据分散到多个数据库或多个表中,从而提升数据库的性能...
面试题:Redis 字符串类型的最大值大小是多少?
在 Redis 中,字符串(String)类型的最大值大小为 512MB。这一限制是 Redis 的设计特性之一,旨在平衡性能、内存管理和系统稳定性。以下是详细解析: 一、Redis 字符串最大值的官方限制 技术实...
面试题:为什么不推荐在 MySQL 中直接存储图片、音频、视频等大容量内容?
在MySQL中直接存储图片、音频、视频等大容量内容(通常称为BLOB/BIG BLOB数据)通常不被推荐,主要原因包括以下几点: 1. 性能问题 存储效率:存储大容量文件(如图片、音频、视频)会大幅增加...
面试题:MySQL 默认的事务隔离级别是什么?为什么选择这个级别?
MySQL 默认的事务隔离级别是 可重复读(Repeatable Read),这是由 InnoDB 存储引擎提供的默认设置。选择这个级别的原因主要有以下几点: 为什么选择可重复读(Repeatable Read) 防止脏读:在...
面试题:为什么 Redis Zset 用跳表实现而不是红黑树?B+树?
Redis 的 有序集合(ZSet) 选择使用 跳表(Skip List) 而不是 红黑树(Red-Black Tree) 或 B+树,主要是基于以下多维度的权衡和优化需求。以下是详细分...
面试题:MySQL 中 TEXT 类型最大可以存储多长的文本?
在 MySQL 中,TEXT 类型用于存储大文本数据,其最大存储长度取决于具体的子类型。以下是详细的分类和存储容量: 1. TEXT 类型的分类与存储容量 类型最大字节长度典型场景TINYTEXT255 字节...
面试题:MySQL 中的 MVCC 是什么?
MySQL 中的 MVCC(Multi-Version Concurrency Control,多版本并发控制) 是一种用于提高数据库并发性能的核心机制,通过维护数据的多个版本来实现 读-写冲突的非阻塞处理,从而...
面试题:MySQL 的 Doublewrite Buffer 是什么?它有什么作用?
1. Doublewrite Buffer 的定义 Doublewrite Buffer(双写缓冲区)是 MySQL InnoDB 存储引擎 中的一个关键机制,用于解决 部分页写入失败(Partial Page Write) 问题。 内...
面试题:什么是 Write-Ahead Logging (WAL) 技术?它的优点是什么?MySQL 中是否用到了 WAL?
Write-Ahead Logging (WAL) 是一种用于确保数据完整性和加速数据库恢复过程的技术。 其基本思想是在对数据进行修改之前,先将这些修改操作的日志记录写入持久存储(通常是磁盘)。 只有当日志成...
面试题:MySQL 中 EXISTS 和 IN 的区别是什么?
在 MySQL 中,EXISTS 和 IN 都是用于子查询的关键字,但它们的工作机制和使用场景有所不同。 EXISTS 功能:EXISTS 用于检测子查询是否返回行。如果子查询返回一行或多行,则 EXISTS 的结果为 TR...
