数据库分页可以带来哪些性能提升?

问题描述 投票:0回答:1

假设我有一个表 X,其中有 100 条记录,运行

select * from X
需要 100 秒。

查询

select top 10 * from X
需要多长时间?

我预计这种关系或多或少是线性的,所以 10 秒。 这是正确的,还是这种关系在某种程度上是非线性的?

database pagination rdbms-agnostic
1个回答
0
投票

您的性能成本位于两个不同的领域:

  • 执行查询需要多长时间
  • 需要多长时间返回结果

通常,查询会很快,但返回结果会很慢,因为它受 I/O 限制。如果是这种情况,那么您将通过返回更少的结果看到近似线性的加速。

但是,如果查询本身很复杂,情况就不同了。如果不仅仅是

select * from X
,而是
select * from X where [complicated-expression]
,那么数据库实现之间的结果可能会有很大差异。在这种情况下,您的性能可能会受到查询复杂性的支配,在这种情况下,您不会通过仅仅返回更少的结果看到那么多好处。

© www.soinside.com 2019 - 2024. All rights reserved.