ID是主键,我在做分页的时候发现这么一个问题select id from table order by id desc limit 10000,10;
这还是比较快的但是下边这条,就非常慢了,而且查询的时候硬盘狂转
select renew from table order by id desc limit 10000,10;为什么效率跟 select 的内容还有关呢?
这还是比较快的但是下边这条,就非常慢了,而且查询的时候硬盘狂转
select renew from table order by id desc limit 10000,10;为什么效率跟 select 的内容还有关呢?
1.找到位于ID位于10000,10之前的所有ID
2.根据ID(主键值)再去找对应的renew字段的值。
为了加快第二个查询的效率,如果在SQL Server中,可以考虑建立如下的Index:
create index ix_table_id_inc_renew on table(id) include(renew);对这样子的查询非常有效果。