2010-07-10 120 views
1

问候Overflowers,分页结果集

我不知道是否有一种方法来查询某种数据库中,只有在获取充分的结果,而不必真正去通过他们都设置了一定的窗口。例如,如果我查询我的数据库,并且我只希望结果编号为100到200,那么数据库会提取匹配我的查询的所有结果(比如说0到1000),然后过滤它们以排除我之外的任何结果指定的窗口框架?

其实,我工作的一个全文检索问题(不是真的关系数据库的东西)。

因此,如何谷歌和其他搜索引擎,他们是否得到充分,然后过滤结果还是他们只需要的窗框直接访问?

谢谢大家!

+0

我好难过,为什么没有解答:( – geeko 2010-07-12 06:20:59

回答

0

你的问题可能是最好的两个部分的回答。

  • 对于数据库(传统的,关系),则执行该查询包含若干“其中”条款,这将导致数据库引擎以限制它返回结果的数目。因此,如果指定where子句主键的2个值,基本上之间界限

    SELECT * FROM表其中id> 99和id < 201;

你会得到你所要求的。

  • 对于搜索引擎,您为获得结果而进行的查询将始终进行分页 - 使用各种技术,所有结果将被预先拆分为多个页面,其中一些将被缓存。其他页面将按需生成。所以,如果你想要100-200页,那么你只能获取那些需要的。

过滤选项效率不高,因为大数据源永远都不想将所有数据加载到内存和片中 - 只需要加载需要的内容。