MySQL 性能优化全解析
1. ORDER BY 和 GROUP BY 优化
1.1 排序检测
GROUP BY、ORDER BY 以及某些聚合函数(如 MAX、MIN 等)在将数据返回给用户之前可能需要对数据进行排序。可以通过 EXPLAIN 语句输出的 Extra 列中的 “Using filesort” 标签来检测是否需要排序。
示例 SQL:
SELECT *
FROM customers
ORDER BY contact_surname, contact_firstname;
EXPLAIN 结果:
| ID | Table | Select type | Access type | Rows | Key | Possible | Ref | Extra |
|----|-----------|-------------|-------------|------|------|----------|-----|----------------|
| 1 | customers | SIMPLE | ALL | 101999 | | | | Using filesort |
1.2 避免磁盘排序的方法
1.2.1 创建索引
如果在要排序的列上存在索引,MySQL 可以使用该索引来避免排序。
示例:
CREATE INDEX i_customer_name ON custom
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



