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

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

MYSQL走非聚集索引再走主鍵索引的時(shí)候?yàn)槭裁床粚Σ樵兊降闹麈I的物理位置進(jìn)行排序再進(jìn)行磁盤讀?

MYSQL走非聚集索引再走主鍵索引的時(shí)候?yàn)槭裁床粚Σ樵兊降闹麈I的物理位置進(jìn)行排序再進(jìn)行磁盤讀?

眼眸繁星 2019-05-25 13:10:04
有一個(gè)問題,我們都知道,mysql是主鍵聚集索引的,每個(gè)非葉子頁保存著表行的頁號,然后根據(jù)頁號在磁盤上進(jìn)行讀取,獲取表行數(shù)據(jù).問題來了:1.但是如果mysql先走非聚集索引,獲取到主鍵值以后,在主鍵的聚集索引上查找到主鍵在磁盤上的物理位置,進(jìn)行讀取的時(shí)候,因?yàn)楂@取到的主鍵值不是順序的,所以導(dǎo)致全部的隨機(jī)I/O,我覺得很奇怪,為什么mysql不先對獲取到的頁號進(jìn)行排序,這樣不就可以較為順序的讀取了嗎,而且內(nèi)存中排序速度很快,這樣可以降低大量隨機(jī)I/O時(shí)間啊.為什么不這么做而是直接進(jìn)行隨機(jī)讀取呢?2.我將非葉子頁保存的指向表行的頁號理解為該表行在磁盤上保存的物理位置,磁盤根據(jù)這個(gè)物理位置進(jìn)行磁頭和磁臂的移動以讀取該表行數(shù)據(jù),這個(gè)理解是沒問題的吧?請教各位大神啦~~謝謝.
查看完整描述

2 回答

?
慕姐4208626

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

順序IO指數(shù)據(jù)的物理存儲是連續(xù)的,因此磁盤讀取的時(shí)候也可以連續(xù)讀取,不需要重新定位進(jìn)行磁頭尋道,因此讀取能力比隨機(jī)讀取IO要高很多。
非聚集索引獲取到主鍵值,按照你的說法對主鍵值進(jìn)行排序后,各主鍵值的存儲位置仍可能差異很大,這時(shí)候還是隨機(jī)IO。如:一個(gè)表,有id和name兩個(gè)字段,id=1和id=1000的name=張三,如果按照name上創(chuàng)建了非聚集索引,并在按照name=張三進(jìn)行查詢,id排序后用處也不大。
                            
查看完整回答
反對 回復(fù) 2019-05-25
  • 2 回答
  • 0 關(guān)注
  • 715 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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