排序
面试题:你们生产环境的 MySQL 中使用了什么事务隔离级别?为什么?
在生产环境中,MySQL 默认使用 可重复读(Repeatable Read) 作为事务隔离级别。选择这个级别的原因如下: 1. 可重复读(Repeatable Read)的特点 解决了脏读和不可重复读问题:...
面试题:为什么阿里巴巴的 Java 手册不推荐使用存储过程?
阿里巴巴的 Java 开发手册不推荐使用存储过程,主要原因如下: 1. 维护成本高 代码分散:存储过程的逻辑写在数据库中,而业务逻辑通常在应用层。这导致代码分散,增加了维护和调试的难度。 版本...
面试题:如何实现数据库的不停服迁移?
数据库的不停服迁移(Zero Downtime Migration)是指在迁移过程中,保证业务系统持续可用,用户无感知。这种迁移方式对高可用性要求较高的系统(如电商、金融系统)尤为重要。以下是实现数据库...
面试题:MySQL 数据库的性能优化方法有哪些?
MySQL 数据库的性能优化是一个综合性的工作,涉及数据库设计、查询优化、配置调优等多个方面。以下是一些常见的 MySQL 性能优化方法: 1. 数据库设计优化 (1)规范化与反规范化 规范化:减少数...
面试题:MySQL 中 InnoDB 存储引擎与 MyISAM 存储引擎的区别是什么?
MySQL 支持多种存储引擎,其中最常用的是 InnoDB 和 MyISAM。它们在功能、性能和适用场景上有显著区别。以下是 InnoDB 和 MyISAM 的主要区别: 1. 事务支持 InnoDB: 支持事务(...
面试题:MySQL 的查询优化器如何选择执行计划?
MySQL 的查询优化器(Query Optimizer)是数据库引擎的核心组件之一,负责为 SQL 查询选择最优的执行计划。它的目标是找到一种执行方式,使得查询的响应时间最短、资源消耗最少。以下是 MySQL ...
面试题:什么是数据库的逻辑删除?数据库的物理删除和逻辑删除有什么区别?
在数据库中,删除操作可以分为 物理删除 和 逻辑删除。这两种方式的主要区别在于数据是否真正从数据库中移除,以及它们对业务逻辑和数据恢复的影响。 1. 物理删除 物理删除是指直接从数据库中删...
面试题:什么是数据库的逻辑外键?数据库的物理外键和逻辑外键各有什么优缺点?
在数据库中,外键用于建立表与表之间的关联关系。根据实现方式,外键可以分为 物理外键 和 逻辑外键。以下是它们的定义、优缺点以及适用场景。 1. 物理外键 物理外键是通过数据库的 外键约束(F...
面试题:MySQL 事务的二阶段提交是什么?
MySQL 中的二阶段提交(Two-Phase Commit,2PC)是一种分布式事务协议,用于确保在多个参与者(如多个数据库或存储引擎)之间实现事务的原子性。二阶段提交的核心思想是将事务的提交过程分为两...
面试题:MySQL 三层 B+ 树能存多少数据?
在 MySQL 中,B+ 树是一种常用的索引结构,通常用于 InnoDB 存储引擎。B+ 树的层数决定了其能存储的数据量。要计算三层 B+ 树能存储多少数据,需考虑以下几个因素: 1. B+ 树的结构 根节点...