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 优化。

  1. select * from news where news_year = 2017 order by prior



更多相关文章

  1. 服务端开发指南与最佳实战 | 数据存储技术 | MySQL(04) 索引使用的
  2. 服务端开发指南与最佳实战 | 数据存储技术 | MySQL(03) 如何设计索
  3. SQL语句类别
  4. 全文检索引擎 Solr 系列(1)— 入门篇
  5. 全文检索引擎 Solr 系列(3)— Solr 核心概念、配置文件
  6. 通过PHP隐藏SQL中的索引值
  7. mysqli不执行Select语句
  8. 什么是客户端准备语句?
  9. 在PHP中更改关联数组索引的位置

随机推荐

  1. 不要再重复造轮子了,这款开源工具类库贼好
  2. Could not initialize derby.jdbc.Autolo
  3. Docker服务开放了这个端口,服务器分分钟变
  4. RabbitMQ实现即时通讯居然如此简单!连后端
  5. mall-swarm 微服务电商项目发布重大更新,
  6. 还在手写CRUD代码?这款开源框架助你解放双
  7. 今天开始学习C
  8. OpenYurt v0.3.0 重磅发布:全面提升边缘场
  9. 搞定Mall项目中的权限管理功能,弄懂这些问
  10. android 运用取消默认的window preview