1、首先明確,回表其實就是查詢的一個步驟,當然是在某些場景下才有。
2、一般數據庫建表時,會創建索引,以普通索引為例,創建的索引結構中包含的是聚簇索引的值(一般就是主鍵id),在根據此普通索引進行查詢時,首先會查到普通索引的位置,比如下標是110,那么會從110處取出聚簇值,也就是id值,再拿id值取表中取數據,
這個過程就叫做回表。
3、再說下什么是聚簇索引,一個表建立后,如果有主鍵,主鍵就是默認的聚簇索引,它的特點就是,數據的物理存儲順序和索引順序一致,一個表建立好了,存儲的物理順序也不會再改變了,所以也說,聚簇索引只有一個。沒有主鍵,就會自動建立,此處不細說了。
4、這里說的是普通索引情況下,走的是回表,那么如果是唯一索引呢?其實第二條沒有說完整,在找到下表為110后,首先回表一次,如果是普通索引,那么還會再檢索一次111下標本身是不是正確的索引,當然很多時候可能111這個已經不是了,但是這個操作是進行
了。而如果是唯一索引,就沒有這一步操作了,回表后就直接返回數據了。這也就是普通索引和唯一索引的區別了。
5、以上就是我對這一塊知識的理解,如有錯誤,望各位指正。盜一張圖