加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL的order by工作原理

发布时间:2019-05-18 16:35:50 所属栏目:MySql教程 来源:风度玉门
导读:在程序设计当中,我们很多场景下都会用 group by 关键字。比如在分页读取数据时,为了避免重复扫描记录,这就是必须要使用 group by 了。 比如我们使用如下 DDL 创建表: CREATETABLE`user_info`( `id`int(11)NOTNULLAUTO_INCREMENTCOMMENT'主键ID', `city

从联合索引看来,我们是可以不用排序操作了,那么我们是否可以直接通过 索引就直接返回结果呢?也就是不要回表操作。答案是有的,那就是覆盖索引。

  1. alter table user_info add index idx_city_user_age(city, name, age); 

当执行查询语句时,不仅 name 中的字段是有序的,并且 索引中已经包含了结果集中的所有字段,过程如下:

  1. 从 (city, name,age)索引中获取到第一个 city='上海' 的记录,并取出 name city age 的值作为结果集的一部分直接返回;
  2. 取下一条符合条件的记录,重复 1 2 的操作,直至不符合条件或者达到 1000 条为止;

MySQL的 order by 工作原理


【编辑推荐】

  1. 解决线上数据库死锁,就是这么简单!
  2. MySQL+MyCat分库分表 读写分离配置
  3. 部署MySQL延迟从库的几个好处
  4. 影响MySQL查询性能的案例
  5. 从运维角度来分析Mysql数据库优化的一些关键点
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读