mysql索引回表

2021-10-01 07:49:27 字數 632 閱讀 1806

mysql索引回表概念:

(1)先通過普通索引(普通索引,唯一索引,組合索引)定位到主鍵值;

(2)在通過聚集索引定位到行記錄;

這就是所謂的回表查詢,先定位主鍵值,再定位行記錄,然後根據行記錄數主鍵id掃瞄索引數,查詢出資料,它的效能較掃一遍索引樹更低

舉例說明:當有乙個表有四個字段,分別是id、name,age、address四個字段,將id設定為主鍵索引,將name和age設定為組合索引

查詢語句如下:

select name, age, address from table where name = *** and age = *** 

得出結論如下:根據組合索引規範,最左原則和用法,其實組合索引用到了。但是address欄位沒有建立索引,根據已經通過索引查詢出的記錄的主鍵id,根據主鍵id在去遍歷索引樹獲取資料,這個過程就叫做回表。

如果查詢語句變化下:

select id, name, age from table where name = *** and age = *** 

得出結論如下:因為id已經有索引,所以不需要回表,那麼這就是覆蓋索引。

mysql索引回表

先索引掃瞄,再通過id去取索引中未能提供的資料,即為回表。建表mysql create table t id int primary key,k int not null,name varchar 16 index k engine innodb 如果語句是 select from t where ...

mysql普通索引回表 MySQL索引

基礎 什麼是索引 索引是關聯式資料庫中對某一列或多個列的值進行預排序的資料結構。索引的作用 索引的是用於資料查詢的一種資料結構,常見的用於資料查詢的資料結構,有有序陣列 二叉查詢樹 雜湊表等,這些資料結構都是查詢速度較快的。面臨的問題 索引設計面臨如下幾個問題 如何更快的查詢到資料 是否支援範圍查詢...

Mysql索引 回表 索引覆蓋

1.先說什麼是索引?索引是一種資料結構 不同引擎對索引的實現方式不同,innodb採用b 樹作為索引結構。2.聚簇索引 非聚簇索引索引可分為聚簇索引和非聚簇索引兩種。聚簇索引 clustered index 聚簇索引的資料的物理存放順序與索引順序是一致的。非聚簇索引 二級索引 secondary i...