假设我有一个包含100条记录的表X,运行select * from X
需要100秒。
我希望查询select top 10 * from X
需要多长时间?
我希望这种关系或多或少是线性的,所以10秒。这是正确的,还是以某种方式非线性的关系?
答案 0 :(得分:0)
您的表现成本分为两个方面:
通常,查询会很快,但返回的结果会很慢,因为它是I / O绑定的。如果是这种情况,那么通过返回较少的结果,您将看到近似线性的加速。
但是,如果查询本身很复杂,那么情况会有所不同。如果它不仅仅是select * from X
,而是select * from X where [complicated-expression]
,那么数据库实现之间的结果可能会有很大差异。在这种情况下,您的性能可能会受到查询复杂性的支配,在这种情况下,只返回较少的结果,您将看不到多少好处。