簡體   English   中英

MySQL-使用主鍵從磁盤表讀取

[英]MySQL - Reading from disk table with Primary Key

我正在試驗MYSQL,我想知道如果在大表(> 10 Mio行)上將內存表減小到最小(比如說100MB),然后讓MYSQL直接從磁盤表中獲取所有內容,會發生什么情況。 由於我正在通過主鍵訪問行,因此我真的想知道是否:

MySQL是否需要掃描整個表,還是可以在磁盤級別利用Tree?

任何提示將不勝感激,

謝謝。

當然,MySQL將利用適當的索引結構來優化磁盤訪問。 它們是否適用於給定查詢是另一回事。 但是如果SQL引擎可以,那么它將。

您可能會錯誤地考慮數據庫的內存模型。 數據存儲在頁面上。 這些頁面通常位於磁盤上。 有一個中間緩存可以優化磁盤訪問。 因此,頁面引用是指向磁盤上的頁面地址。

當SQL引擎想要轉到特定頁面時,它首先瀏覽高速緩存以查看其是否已可用(以及檢查其他因素,例如是否已對其進行修改-臟頁面)。 如果頁面高速緩存中可用,那么引擎將使用該版本。 如果不可用,則將頁面的磁盤映像加載到緩存(可能還有一些附近的頁面)中。 如果緩存中沒有空間,則“清除”一個或多個頁面以騰出空間容納新頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM