它的那些事情,似乎有一个奇怪的曲线在哪里我更想想看,它更有意义。到一定程度的课程。然后它没意识到我所有。

照顾到启发我吗?

有帮助吗?

解决方案

因为在大多数情况下,你已经有了结果进行排序第一个。例如,当谷歌上搜索, 你只能看到100页的结果.他们不要打扰排序的网页等级超过1000个网站,用于特定关键字(或组合的关键词)。

页码是快。排序是缓慢的。

其他提示

Lubos 是正确的,问题不是事实,你的寻呼(这需要大量的数据,断讯),但是,你需要弄清楚实际上是会在网页上..

事实上,你需要页面意味着有很多的数据。很多的数据需要很长时间排序)

这是一个非常模糊的问题。我们需要一个具体的例子,获得一个更好的想法的问题。

这个问题似乎相当复盖的,但我会加点东西MySQL具体作为它吸引了很多人:

避免使用 SQL_CALC_FOUND_ROWS.除非该数据集是微不足道,计匹配和检索x量相匹配,在两个独立的查询将是一个有很多更快。(如果它 微不足道,你会几乎没有注意到有差别的方式。)

我以为你的意思 页数的印刷页 -那是我把我的牙齿。我要进入一个伟大的独白关于收集的所有内容的网页,定位(一个庞大的数量的规则在这里,constrait引擎是很有帮助)和理由...但显然你是在谈论过程的组织信息的网页。

对,我猜数据库。磁盘的访问是缓慢的。一旦你得到了它在记忆,分类是便宜。

当然排序上的一个随机查询需要一些时间,但是如果你有问题与同一分页的查询正在使用定期,没有任一些错误的数据库安装(不正确地编制索引/没有在所有,也很少存储器等。我不是一个数据库管理者)或者你正在做的分页的严重错误的:

可怕的错误:例如做 select * from hugetable where somecondition; 进入一系列得到的页数与阵列。长挑选相关指标和dicard阵列-然后重复这种对每一页...这就是我所说的严重错误的。

更好的解决方案的两个问题:一个得到的只是最后的另一个取得结果的使用 limitoffset.(某些专有的标准sql服务器可能有一个一个的查询的选择,我不知道)

坏的解决办法可能实际工作相当好在关于小表(实际上它不是不可想象的,它的速度在非常小的表,因为开销的两个查询比让的所有行在一个查询。我不是说这 所以...)但是,一旦该数据库开始增长的问题变得显而易见的。

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