1. 前言

本文描述了团队在工作中遇到的一个MySQL分页查询问题,顺带讲解相关知识点,为后来者鉴。本文的重点不是"怎样"优化表结构和SQL语句,而是探索不同查询方式"为什么"会有显著差异。在本文中,涉及下列知识点:

  1. MySQL 延迟关联

  2. MySQL Optimizer Trace使用

  3. MySQL 排序原理

2. 问题

工作中用到了一张表,字段比较多,每行大概500字节,总行数大概80万。场景中,需要根据某个非索引字段排序,然后进行分页读取。先把脱敏之后的表结构奉上(只修改了字段名):

 

seo优化培训,网络推广培训,网络营销培训,SEM培训,网络优化,在线营销培训 View Code

 

重点字段是a0和a1。再看一下表信息:

seo优化培训,网络推广培训,网络营销培训,SEM培训,网络优化,在线营销培训

网友评论