服務端指南 資料儲存篇 | MySQL(05) 索引的排序優化方案

樑桂釗發表於2017-04-19

原文地址:服務端指南 資料儲存篇 | 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複製程式碼

(完)

更多精彩文章,盡在「服務端思維」微信公眾號!

服務端指南 資料儲存篇 | MySQL(05) 索引的排序優化方案

相關文章