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

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

查詢①

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

這個查詢需要大概700ms;

查詢②

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

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

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

回答
編輯回答
柒喵

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

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

同意樓上解釋,多個字段需要回表

2017年10月25日 03:42