关于回表

在看别人的LOG时看到一个新的名词,是回表。
在这里记录下:
简单来说,通过索引访问得到表的ROWID,然后根据这些ROWID再去访问表中数据行,就称为回表
如果执行计划里出现table access by rowid说明要回表。

例子:
create table test( name char(5), id int);
create index id_test on test(id);

如果这时查询语句是:
select max(id) from test;
因为索引id_test上有关于id的信息,所以只要对索引进行查询就可以了,不用再根据ROWID查询TEST.。

如果查询
select name from test where id= 200;
那根据索引查询到ID为200的rowid后,根据rowid指向的数据,回查到TEST获得相应的NAME。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/40239/viewspace-563285/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/40239/viewspace-563285/

你可能感兴趣的:(关于回表)