高级查询技巧 🔍
- 子查询嵌套:使用
SELECT
中嵌套子查询实现复杂逻辑子查询嵌套 - 窗口函数:
ROW_NUMBER()
,RANK()
,NTILE()
等优化分页与统计窗口函数 - 正则表达式:
REGEXP
模糊匹配(如SELECT * FROM users WHERE name REGEXP '^A'
)正则表达式
索引优化 🚀
- 避免全表扫描:在
WHERE
,JOIN
,ORDER BY
字段添加索引索引优化 - 覆盖索引:确保索引包含查询所需字段(如
CREATE INDEX idx_name ON table(name, age)
) - 索引类型选择:B-Tree 适用于范围查询,Hash 适合等值匹配索引类型
事务管理 🔒
- ACID 特性:确保数据一致性(原子性、一致性、隔离性、持久性)ACID
- 隔离级别:
READ UNCOMMITTED
到SERIALIZABLE
的权衡 - 分布式事务:使用
XA
协议或GTID
实现跨数据库操作分布式事务
数据库设计模式 🧱
- 范式化设计:减少数据冗余(第一范式到第三范式)
- 反范式化:通过冗余字段提升查询性能
- JSON 字段:MySQL 5.7+ 支持
JSON
类型存储结构化数据JSON字段
如需进一步学习 SQL 基础知识,可访问 /zh-cn/sql_tutorial。