排序
面试题:MySQL 事务的二阶段提交是什么?
MySQL 中的二阶段提交(Two-Phase Commit,2PC)是一种分布式事务协议,用于确保在多个参与者(如多个数据库或存储引擎)之间实现事务的原子性。二阶段提交的核心思想是将事务的提交过程分为两...
场景题:如果组长要求你主导项目中的分库分表,大致的实施流程是?
主导分库分表项目的实施是一个复杂且系统性的工程,需要从需求分析、方案设计、技术选型、实施落地到后续维护等多个阶段进行规划和执行。以下是一个大致的实施流程: 一、需求分析与评估 1.&nbs...
面试题:MySQL 的索引类型有哪些?
MySQL 支持多种索引类型,每种索引类型适用于不同的场景和查询需求。以下是 MySQL 中常见的索引类型及其特点: 1. 普通索引(INDEX) 定义:最基本的索引类型,没有任何约束。 特点: 适用...
面试题:在什么情况下,不推荐为数据库建立索引?
虽然索引可以显著提高查询性能,但在某些情况下,建立索引可能并不推荐,甚至可能带来负面影响。以下是不推荐为数据库建立索引的常见情况: 1. 数据量非常小 当表中的数据量非常小(例如只...
面试题:如何使用 MySQL 的 EXPLAIN 语句进行查询分析?
在 MySQL 中,EXPLAIN 是一个用于分析查询语句执行计划的工具。通过 EXPLAIN,可以了解 MySQL 如何执行一条 SQL 语句,包括是否使用了索引、表的连接顺序、扫描的行数等信息。这些信息对于优化...
面试题:MySQL 中 DATETIME 和 TIMESTAMP 类型的区别是什么?
在 MySQL 中,DATETIME 和 TIMESTAMP 是两种常用的日期时间类型,但它们在使用场景、存储方式和功能上有显著区别。以下是它们的详细对比: 1. 存储范围 DATETIME: 范围:1...
面试题:为什么 MySQL 选择使用 B+ 树作为索引结构?
MySQL 选择使用 B+ 树 作为索引结构,主要是因为 B+ 树在数据库系统中具有以下优势,能够很好地满足数据库的查询、插入、删除和范围查询等操作的需求: 1. 高效的查询性能 B+ 树...
面试题:什么是数据库的逻辑外键?数据库的物理外键和逻辑外键各有什么优缺点?
在数据库中,外键用于建立表与表之间的关联关系。根据实现方式,外键可以分为 物理外键 和 逻辑外键。以下是它们的定义、优缺点以及适用场景。 1. 物理外键 物理外键是通过数据库的 外键约束(F...
面试题:什么是分库分表?分库分表有哪些类型(或策略)?
分库分表 是一种数据库架构设计技术,用于解决单库单表数据量过大、性能瓶颈和高并发访问的问题。通过将数据分散到多个数据库或表中,分库分表可以提升数据库的扩展性和性能。 一、分库分...
面试题:MySQL 的存储引擎有哪些?它们之间有什么区别?
MySQL 支持多种存储引擎,每种存储引擎有不同的特点和适用场景。以下是 MySQL 中常见的存储引擎及其区别: 1. InnoDB 特点: 事务支持:支持 ACID 事务,适合需要高可靠性和事务处理的场景...