第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

InnoDB全表掃描是不是有可能比MyISAM快?

InnoDB全表掃描是不是有可能比MyISAM快?

九州編程 2019-04-27 22:14:29
MySQLInnoDB存儲(chǔ)引擎當(dāng)索引(二級(jí))生效時(shí),會(huì)先走二級(jí)索引,然后走聚簇索引找到數(shù)據(jù)那如果索引不生效時(shí),要做全表掃描時(shí),還會(huì)走聚簇索引么?我理解的是會(huì)走,因?yàn)镮nnoDB的數(shù)據(jù)和聚簇索引是一體的那如果Innodb的全表掃描會(huì)走聚簇索引的話,而MyISAM不走,那是不是走索引的比不走索引的要快呢?想知道InnoDB全表掃描時(shí)如何走聚簇索引的?
查看完整描述

2 回答

?
SMILET

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

首先要明確的是,聚簇索引不是一種單獨(dú)的索引類型,而是一種數(shù)據(jù)存儲(chǔ)方式,各個(gè)引擎的實(shí)現(xiàn)可能不太一樣。
對(duì)于InnoDB而言,如果表有聚簇索引,它的數(shù)據(jù)行數(shù)據(jù)實(shí)際上就存放在主鍵索引的葉子頁(yè)中。也就是說,可以直接通過主鍵索引獲取到行數(shù)據(jù)。這就是InnoDB的聚簇索引。
對(duì)于題主的描述1、在有聚簇索引時(shí),二級(jí)索引生效后,實(shí)際上是通過二級(jí)索引找到對(duì)應(yīng)主鍵,然后通過主鍵索引找到存放的數(shù)據(jù)。2、索引不生效,用不到主鍵索引,就不會(huì)使用主鍵上聚簇的行數(shù)據(jù)。3、不使用任何索引,走全表掃描的話,理論上來講,如果表有1000行數(shù)據(jù),都需要1000次IO操作,也就不用比較誰(shuí)快誰(shuí)慢了。
如有疑惑,歡迎進(jìn)一步探討,望采納!
                            
查看完整回答
反對(duì) 回復(fù) 2019-04-27
?
慕哥6287543

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個(gè)贊

老鐵,首先你要弄清楚什么是innodb,什么是myisam哦innodb表的數(shù)據(jù)本身就是聚集的,也就是說,表本身就是聚集索引,全表掃描,掃的就是當(dāng)然就是聚集索引本身咯。myisam表是堆表,數(shù)據(jù)存儲(chǔ)并不是根據(jù)主鍵聚集的。
innodb走全表掃描,就是從聚集索引最左端葉子塊一直往右遍歷咯,跟全索引掃描差不多。
而同樣是全表掃描,innodb是不是比myisam快呢?我的理解是myisam比innodb快哦。因?yàn)閷?duì)于同樣的數(shù)據(jù),由于存儲(chǔ)引擎對(duì)數(shù)據(jù)的組織和存儲(chǔ)原理不一樣,myisam表是比innodb表小的,那么在數(shù)據(jù)塊大小一定的情況,表小,也就說整個(gè)表的數(shù)據(jù)塊數(shù)量少,所以全表掃描過程需要讀取的數(shù)據(jù)塊的IO就少了哦。一次IO是讀一個(gè)數(shù)據(jù)塊到bufferpool,而不是一行數(shù)據(jù)。
                            
查看完整回答
反對(duì) 回復(fù) 2019-04-27
  • 2 回答
  • 0 關(guān)注
  • 321 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)