“回表” 是指在使用辅助索引(非聚簇索引)作为条件进行查询时,由于辅助索引中只存储了索引字段的值和对应的主键(聚簇索引)键值,因此需要根据主键(聚簇索引)中的键值去查找实际的数据行,这个过程被称为回表。 举个例子:select * from user where age = 20; 1)根据辅助索引(age)找到 age=20 的 主键键值: 2)再根据主键去查找整行的数据:
111 回表:在数据中,当查询数据的时候,在索引中查找索引后,获得该行的rowid,根据rowid再查询表中数据,就是回表。 --创建一个表, 索引只建立在object_id上 SQL> create table ml_1 as 2 select * from dba_objects 3 ; Table created SQL> create index id
覆盖索引:查询使用了索引,并且需要返回的列,在索引里面都可以找到,减少select*的使用 1、using index condition Extra 为using index condition 表明查找使用了索引,但是需要回表查询(也就是先二级索引,拿到id,在返回表里面,进行聚集索引,得到一行的数据,耗时耗内存) 举个例子 explain select * from tb_user