说我有一个表X100记录和运行 select * from X 需要100秒钟。

我应该多长时间预计的查询 select top 10 * from X 走?

我期望,这种关系或多或少是线性的那10秒钟。这是正确的,或关系是非线性的,在某种方式?

有帮助吗?

解决方案

你的表现成本在两个不同的领域:

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

往往一查询将要快,但返回的结果将会是缓慢的,因为它I/O限。如果是这种情况,然后你会看到一个近似线性加速回返减少的结果。

然而,如果查询本身是复杂的,事情是不同的。如果它不只是 select * from X, 但 select * from X where [complicated-expression], 然后结果可能广泛变化之间的数据库的实现。在这种情况下,你的表现可能是主要的查询复杂性,在这种情况下你不会看到同样多的利益的仅仅是返回较少的结果。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top