数据库
首页 > 数据库> > SQL索引回表

SQL索引回表

作者:互联网

当使用普通索引的时候,它会先在索引那查询所有符合条件的索引,然后再回到表中根据索引查询对应的数据出来。所以这里有两次查询表的过程,简称回表。

image

怎么避免回表

1、使用主键作为条件查询

2、如果必须使用辅助索引,那么尽量避免使用*,直接列出所需列名。实际上就算使用主键作为条件查询,也应该尽量列出所需列名,需要什么字段就返回什么字段,而不是一股脑的直接返回*。

3、查询语句优化,实际也相当于变相使用主键作为条件查询

优化前:
select * from t_refund_record order by id limit 2000,10;
优化后:
select * from t_refund_record t1 join (select id from t_refund_record limit 2000,10) t2 on t1.id = t2.id;

标签:refund,查询,回表,索引,SQL,id,主键,select
来源: https://www.cnblogs.com/lyd447113735/p/16078297.html