排序
面试题:MySQL 插入一条 SQL 语句,redo log 记录的是什么?
当 MySQL 执行一条插入(INSERT)SQL 语句时,redo log(重做日志)记录的是物理层面的页修改,而不是 SQL 语句本身。具体来说: 1. redo log 记录的内容 redo log 主要记录以下信息: 被修改的...
面试题:为什么在 MySQL 中不推荐使用多表 JOIN?
在 MySQL 中,并不是绝对不推荐使用多表 JOIN,而是需要谨慎对待,尤其是在处理大规模数据集或性能要求较高的场景下。JOIN 操作如果使用不当可能会导致一些问题: 1. 性能问题 复杂度增加:随着...
面试题:MySQL 索引的最左前缀匹配原则是什么?
MySQL 索引的最左前缀匹配原则(Leftmost Prefix Principle) 核心概念 最左前缀匹配原则 是 MySQL 使用联合索引(复合索引)时的一个重要规则。它要求查询条件必须从联合索引的最左侧列开...
面试题:你们生产环境的 MySQL 中使用了什么事务隔离级别?为什么?
在生产环境中选择MySQL的事务隔离级别主要取决于应用的具体需求,包括数据一致性、并发性能以及可能出现的并发问题(如脏读、不可重复读和幻读)。 MySQL支持四种标准的事务隔离级别:READ UNCO...
面试题:MySQL 中 varchar 和 char 有什么区别?
在 MySQL 中,VARCHAR 和 CHAR 是两种用于存储字符数据的数据类型,它们之间存在一些关键的区别: 1. 存储方式 CHAR:固定长度的字符串类型。当你定义一个 CHAR(10) 的字段,并且插入 'hello'(...
面试题:MySQL 中 TEXT 类型最大可以存储多长的文本?
在 MySQL 中,TEXT 类型用于存储大文本数据,其最大存储长度取决于具体的子类型。以下是详细的分类和存储容量: 1. TEXT 类型的分类与存储容量 类型最大字节长度典型场景TINYTEXT255 字节...
面试题:MySQL 中的 MVCC 是什么?
MySQL 中的 MVCC(Multi-Version Concurrency Control,多版本并发控制) 是一种用于提高数据库并发性能的核心机制,通过维护数据的多个版本来实现 读-写冲突的非阻塞处理,从而...
面试题:MySQL 在设计表(建表)时需要注意什么?
在设计MySQL表(建表)时,有多个方面需要考虑以确保数据库的性能、可维护性和数据完整性。以下是一些关键点: 选择合适的数据类型:为每个字段选择最合适的数据类型非常重要。例如,使用INT而...
面试题:MySQL 的 Doublewrite Buffer 是什么?它有什么作用?
1. Doublewrite Buffer 的定义 Doublewrite Buffer(双写缓冲区)是 MySQL InnoDB 存储引擎 中的一个关键机制,用于解决 部分页写入失败(Partial Page Write) 问题。 内...
面试题:MySQL 中的回表是什么?
MySQL 中的回表是什么? 核心概念 回表 是 MySQL 中一种与索引查询相关的性能现象,通常发生在使用 二级索引(非聚簇索引) 进行查询时。 定义:当通过二级索引查询数据时,由于...