什么表现得我可以期待从数据库中寻呼?
-
26-09-2019 - |
题
说我有一个表X100记录和运行 select * from X
需要100秒钟。
我应该多长时间预计的查询 select top 10 * from X
走?
我期望,这种关系或多或少是线性的那10秒钟。这是正确的,或关系是非线性的,在某种方式?
解决方案
你的表现成本在两个不同的领域:
- 需要多长时间来执行的查询
- 需要多长时间返回的结果
往往一查询将要快,但返回的结果将会是缓慢的,因为它I/O限。如果是这种情况,然后你会看到一个近似线性加速回返减少的结果。
然而,如果查询本身是复杂的,事情是不同的。如果它不只是 select * from X
, 但 select * from X where [complicated-expression]
, 然后结果可能广泛变化之间的数据库的实现。在这种情况下,你的表现可能是主要的查询复杂性,在这种情况下你不会看到同样多的利益的仅仅是返回较少的结果。
不隶属于 StackOverflow