1. 前言

本文描述了團(tuán)隊(duì)在工作中遇到的一個(gè)MySQL分頁(yè)查詢問(wèn)題,順帶講解相關(guān)知識(shí)點(diǎn),為后來(lái)者鑒。本文的重點(diǎn)不是"怎樣"優(yōu)化表結(jié)構(gòu)和SQL語(yǔ)句,而是探索不同查詢方式"為什么"會(huì)有顯著差異。在本文中,涉及下列知識(shí)點(diǎn):

  1. MySQL 延遲關(guān)聯(lián)

  2. MySQL Optimizer Trace使用

  3. MySQL 排序原理

2. 問(wèn)題

工作中用到了一張表,字段比較多,每行大概500字節(jié),總行數(shù)大概80萬(wàn)。場(chǎng)景中,需要根據(jù)某個(gè)非索引字段排序,然后進(jìn)行分頁(yè)讀取。先把脫敏之后的表結(jié)構(gòu)奉上(只修改了字段名):

 

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營(yíng)銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營(yíng)銷培訓(xùn) View Code

 

重點(diǎn)字段是a0和a1。再看一下表信息:

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營(yíng)銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營(yíng)銷培訓(xùn)

網(wǎng)友評(píng)論