鍍金池/ 問(wèn)答/數(shù)據(jù)庫(kù)/ 1個(gè)mysql全表掃描查詢優(yōu)化疑問(wèn)

1個(gè)mysql全表掃描查詢優(yōu)化疑問(wèn)

查詢①

SELECT `id`,`nickname`,`bind_time`,`province_id`,`city_id`,`area_id` FROM `user` ORDER BY add_time DESC LIMIT 437130,10

這個(gè)查詢需要大概700ms;

查詢②

SELECT `id` FROM `user` ORDER BY add_time DESC LIMIT 437130,10

這個(gè)查詢只需要100+ms就可以,然后再根據(jù)id查詢對(duì)應(yīng)的數(shù)據(jù),查詢速度就有很大提升;

add_time字段并沒(méi)有索引,并且加上無(wú)索引的where條件查詢結(jié)果也是差不多;網(wǎng)上說(shuō)是 延遲關(guān)聯(lián) ,但這里并沒(méi)有使用到覆蓋索引,那是什么原因?qū)е碌牟樵儮诒炔樵儮倏爝@么多,同樣都是全表掃描;請(qǐng)各路大神幫忙解答。

回答
編輯回答
柒喵

id是主鍵,單查id會(huì)用到主鍵唯一索引,而且查1列跟查多列的速度肯定是不一樣的

2018年8月16日 23:16
編輯回答
心沉

同意樓上解釋,多個(gè)字段需要回表

2017年10月25日 03:42