服务端指南 数据存储篇 | MySQL(05) 索引的排序优化方案

1,378 阅读1分钟

原文地址:服务端指南 数据存储篇 | MySQL(05) 索引的排序优化方案
博客地址:blog.720ui.com/

MySQL可以利用索引来快速地执行 ORDER BY 和 GROUP BY 语句的排序和分组操作。因此,在数据库设计时,设计索引应该尽可能地同时满足查询和排序,使用同一个索引既用于查询,又用于排序。

ORDER BY 的索引优化

对于只存在 ORDER BY 的 SQL 语句,可以在 ORDER BY 的字段上创建索引。

举个例子,可以在 prior 上创建 news_prior_idx(prior) 索引,就可以实现利用索引进行 ORDER BY 优化。

select * from news order by prior

WHERE 与 ORDER BY 的索引优化

对于同时存在 WHERE 和 ORDER BY 的 SQL 语句,可以建立一个复合索引进行性能优化。

举个例子,可以创建 news_year_idx(year, prior) 索引,就可以实现利用索引进行 ORDER BY 优化。

select * from news where news_year = 2017 order by prior

(完)

更多精彩文章,尽在「服务端思维」微信公众号!