RSS
菜单
社区成员个人主页
阿成员
DEV CN / 成员主页

阿青 · 社区话题账号

查看阿青 · 社区话题账号发布的技术文章、关注圈子与公开讨论。

0技术文章4关注圈子467圈内发布1关注者
COMMUNITY POSTS

交流圈发布内容

作者在不同技术圈子中的观点与讨论

1
# MySQL

MySQL 一条查询和一条更新语句的执行流程?

查询:连接器(认证)→ 查询缓存(8.0 已移除)→ 分析器(词法/语法解析生成语法树)→ 优化器(选择索引、连接顺序、生成执行计划)→ 执行器(调引擎接口,返回结果)。更新:同样经历连接/分析/优化/执行,额外步骤:① 引擎读目标行到内存(Buffer Pool);② 修改内存并写 undo log(记录旧值,用于回滚与 MVCC);③ 写 redo log(prepare 阶段);④ 执行器写 binlog;⑤ 引擎 redo lo…

2
# MySQL

MySQL 中 NULL 和空字符串的区别?

NULL:表示未知/不存在,不占存储逻辑值,参与运算结果多为 NULL(NULL + 1 = NULL),比较用 IS NULL/IS NOT NULL,不能用 =;空字符串 ':表示长度 0 的已知值,可参与普通运算和 = 比较。影响:① 索引:NULL 可入索引(InnoDB),但 IS NULL 可能不走索引;② 统计:COUNT(列) 不统计 NULL,COUNT(*) 统计;③ 排序:NULL 默认排最前;④ 唯一约束:NUL…

3
# MySQL

MySQL 常用字段类型有哪些?怎么选?

数值:TINYINT(1B)、SMALLINT(2B)、MEDIUMINT(3B)、INT(4B,常用整数)、BIGINT(8B,大整数/自增主键)、DECIMAL(M,D)(精确小数,金额必须用)、FLOAT/DOUBLE(浮点,有精度误差);字符串:CHAR(N)(定长,快)、VARCHAR(N)(变长,常用,N 是字符数)、TEXT 系列(大文本)、BLOB(二进制);时间:DATE、DATETIME(推荐,范围大无时区问题)、T…

4
# MySQL

MySQL 关系型数据库的核心概念有哪些?

关系型数据库 = 基于关系模型(E.F.Codd 提出)存储结构化数据的数据库:数据用二维表(relation)组织。核心概念:① 表(Table):行+列;② 行/记录(Row):一条数据;③ 列/字段(Column):一个属性;④ 主键(Primary Key):唯一标识一行;⑤ 外键(Foreign Key):关联其他表;⑥ 索引(Index):加速查询;⑦ 约束(Constraint):非空/唯一/默认/检查;⑧ 范式(Norm…

5
# MySQL

MySQL 的存储结构是怎样的?(表空间、页、行)

层次:表空间(tablespace,逻辑容器,默认 innodb_file_per_table 每表独立 .ibd 文件)→ 段(segment:索引段/数据段/回滚段)→ 区(extent,1MB=64 页)→ 页(page,默认 16KB,B+ 树节点最小读写单位)→ 行(row,记录数据)。行格式:COMPACT/DYNAMIC(8.0 默认,长字段溢出到溢出页)。页结构:页头、用户记录区(行数据)、页目录(槽,加快页内查找)、页…

6
# MySQL

MySQL 的字符集和排序规则?为什么推荐 utf8mb4?

字符集(charset)决定字符如何编码存储:utf8mb4、utf8mb3(旧 utf8)、latin1、gbk 等;排序规则(collation)决定比较排序方式:utf8mb4_general_ci(不区分大小写,快)、utf8mb4_unicode_ci(按 Unicode 排序)、utf8mb4_bin(二进制比较)。推荐 utf8mb4 原因:① utf8mb4 是完整 UTF-8(1-4 字节),支持全部 Unicode…

7
# MySQL

MySQL 的逻辑架构分几层?一条 SQL 怎么执行?

分层:① 连接层(Connectors/Connection Pool):连接管理、认证鉴权;② Server 层:查询缓存(8.0 移除)、分析器(词法/语法解析)、优化器(选索引、生成执行计划)、执行器(调用引擎接口);③ 存储引擎层(InnoDB/MyISAM):存储、索引、事务实现。查询流程:连接 → 查询缓存(8.0 无)→ 分析器 → 优化器 → 执行器 → 引擎读取返回。更新流程额外:先查后改、记 undo log(回滚)…

8
# MySQL

MySQL 的 SQL 分为哪几类?各包含哪些命令?

① DDL(数据定义语言):CREATE、ALTER、DROP、TRUNCATE——定义库表结构;② DML(数据操作语言):INSERT、UPDATE、DELETE、SELECT——增删改查(SELECT 有时单列 DQL);③ DCL(数据控制语言):GRANT、REVOKE——权限控制;④ TCL(事务控制语言):COMMIT、ROLLBACK、SAVEPOINT——事务管理。区分记忆:DDL 改结构(自动隐式提交)、DML 改数…

9
# MySQL

MySQL 和 MariaDB 有什么区别?

MariaDB 是 MySQL 的分支:MySQL 被 Oracle 收购后,创始人 Monty 基于 MySQL 5.5 分支创建 MariaDB(GPL 协议,保证永远开源)。区别:① 引擎:MariaDB 用 Aria、MyRocks 等,MySQL 8 用 InnoDB;② 特性:MariaDB 有虚拟列、OQGRAPH、更宽松的许可;③ 版本节奏:MariaDB 版本演进独立(10.x/11.x);④ 兼容性:早期基本兼容,8…

10
# MySQL

MySQL 数据库有哪些核心特性?为什么是主流关系型数据库

核心特性:① 开源免费、跨平台(Linux/Windows/macOS);② 成熟的关系型数据模型(表/行/列、SQL 标准)、事务支持(ACID)、外键约束;③ 高性能:B+ 树索引、InnoDB 存储引擎(行锁、MVCC 并发控制);④ 高可用:主从复制、集群方案丰富;⑤ 生态庞大:运维工具(mysqldump、pt 工具)、中间件(ProxySQL、ShardingSphere)、云厂商托管(RDS);⑥ 版本活跃(8.0 持续迭…