使用这个技术,一般来说我们前台会以分页方式来显现数据,Mysql 用的是 OFFSET,SQL Server 用的是 FETCH NEXT,这种 Fetch 的方式其实并不好是线性复杂度,所以,如果我们能够知道 order by 字段的第二页的起始值,我们就可以在 where 语句里直接使用>= 的表达式来 select,这种技术叫 seek,而不是 fetch,seek 的性能比 fetch 要高很多。
指标 描述 资源 Resource 服务器中的硬件资源 利用率 Utilization 资源提供服务的平均时间 饱和度 Saturation 资源承担额外工作量的能力,这类工作通常 排队 错误 Errors 错误事件数量。
对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。索引并不是越多越好,索引固然可以提高相应的 select 的效率,但同时也降低了 insert 及 update 的效率,因为 insert 或 update 时有可能会重建索引,所以怎样建索引需要慎重考虑,视具体情况而定。