索引是一個利于查找的數據結構,而且還緩存在內存中,用索引查找出物理行地址非常快,但是從物理行中提取出(回行)需要的字段值,就會慢一點了。
查詢索引是快的,利用索引從物理磁盤中找到要的所有數據(回行)是慢的。
如上圖,索引是usename,如果select的字段有id,username,age..那么得去物理行提取數據;如果select id 那么索引里就存著呢,不用去找啦直接就滿足了。
總結:查詢的內容正好在索引中就有,不需要回行查找,這種情況叫做索引覆蓋
如果出現了上邊Using index 部分,就表示使用了覆蓋索引。
innodb引擎在覆蓋索引上面更進一步:
innodb引擎的所有儲存了主鍵ID,事務ID,回滾指針,非主鍵ID,
他的查詢就會是非主鍵ID也可覆蓋來取得主鍵ID。
以上就是Mysql-索引覆蓋的內容,更多相關內容請關注PHP中文網(www.php.cn)!
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END