MYSQL中的LIMIT使用全索引掃描而不是范圍掃描

我有一個(gè)名為“emp”的表,其中有emp_id(主鍵)、name、dob、email列,共有500萬(wàn)行。以下查詢使用完全索引掃描。

select emp.emp_id from emp limit 2500000, 100000;

MySQL plan:

為什么mysql不能執(zhí)行范圍掃描,它對(duì)4548256行執(zhí)行完全索引掃描?

? 最佳回答:

想想電話簿。如果我讓你按名字找一個(gè)人,電話簿的性質(zhì)是一個(gè)分類列表,所以你可以很快找到他的名字。

但是,如果我讓你在電話簿上找到第25000個(gè)人,事實(shí)上,這是一個(gè)排序列表對(duì)你沒(méi)有幫助。你必須從書的開頭開始數(shù)到25000。

按名稱搜索是一種查找,可以查找特定名稱,也可以查找一系列名稱。但重要的是,這是按值搜索,而不是按條目的位置搜索。

LIMIT查詢不是按值查找,而是按位置查找。索引對(duì)此沒(méi)有幫助。為了得到查詢結(jié)果,MySQL必須從表的第一行開始計(jì)算所有行。

要使查詢成為范圍掃描,它必須按值搜索:

SELECT emp.emp_id FROM emp WHERE emp.emp_id BETWEEN 2500000 AND 2600000;

但這與LIMIT查詢不完全相同,因?yàn)?code>emp_id中的值可能有間隙,而不是使用每個(gè)整數(shù)值。

主站蜘蛛池模板: 好看的电影网站亚洲一区| 无码丰满熟妇一区二区| 精品国产天堂综合一区在线| 中文字幕精品亚洲无线码一区应用| 无码人妻精品一区二区三 | 久久精品国产一区二区三区日韩| 精品国产免费观看一区| 国产乱人伦精品一区二区| 久久国产精品一区二区| 国产一区二区三区在线观看精品 | 无码毛片一区二区三区中文字幕 | 在线精品视频一区二区| 无码精品人妻一区二区三区人妻斩| 亚洲av无码天堂一区二区三区 | 精品人妻无码一区二区三区蜜桃一 | 亚洲一区二区影院| 亚洲一区爱区精品无码| 日本亚洲国产一区二区三区| 久久精品国产一区二区电影| 成人区精品一区二区不卡| 国产日韩高清一区二区三区| 大伊香蕉精品一区视频在线 | 亚洲免费视频一区二区三区| 丰满爆乳无码一区二区三区| 午夜在线视频一区二区三区| 精产国品一区二区三产区| 精品国产日韩亚洲一区在线| 国产一区在线播放| 无码毛片一区二区三区视频免费播放| 视频一区二区在线播放| 亚洲AV日韩精品一区二区三区| 久久影院亚洲一区| 亚洲av午夜福利精品一区人妖| 国产精品视频一区二区噜噜| 亚洲av无码一区二区三区观看| 欧美激情国产精品视频一区二区| 国产精品一区二区三区高清在线| 一区二区三区免费精品视频| 中文字幕一区日韩在线视频| 99久久精品国产一区二区成人| 老熟妇高潮一区二区三区|