Mysql-索引覆蓋

索引是一個利于查找的數據結構,而且還緩存在內存中,用索引查找出物理行地址非常快,但是從物理行中提取出(回行)需要的字段值,就會慢一點了。

查詢索引是快的,利用索引從物理磁盤中找到要的所有數據(回行)是慢的。

Mysql-索引覆蓋

如上圖,索引是usename,如果select的字段有id,username,age..那么得去物理行提取數據;如果select id 那么索引里就存著呢,不用去找啦直接就滿足了。

總結:查詢的內容正好在索引中就有,不需要回行查找,這種情況叫做索引覆蓋

Mysql-索引覆蓋

如果出現了上邊Using index 部分,就表示使用了覆蓋索引。

innodb引擎在覆蓋索引上面更進一步:

innodb引擎的所有儲存了主鍵ID,事務ID,回滾指針,非主鍵ID,

他的查詢就會是非主鍵ID也可覆蓋來取得主鍵ID。

以上就是Mysql-索引覆蓋的內容,更多相關內容請關注PHP中文網(www.php.cn)!

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享