我可以从数据库分页中获得什么性能提升?

时间:2010-06-10 17:08:29

标签: database paging rdbms-agnostic

假设我有一个包含100条记录的表X,运行select * from X需要100秒。

我希望查询select top 10 * from X需要多长时间?

我希望这种关系或多或少是线性的,所以10秒。这是正确的,还是以某种方式非线性的关系?

1 个答案:

答案 0 :(得分:0)

您的表现成本分为两个方面:

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

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

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