文章目录

  1. 1. ORDER BY 的索引优化
  2. 2. WHERE 与 ORDER BY 的索引优化

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
(完)

微信公众号

文章目录

  1. 1. ORDER BY 的索引优化
  2. 2. WHERE 与 ORDER BY 的索引优化