0

我知道“限制”命令用于网站的分页。
我想知道 DB 是否能够在不线性遍历结果集的情况下找到起始索引。

例如,对于查询“查找第 100 和第 120 之间的东西”,DB 是否有办法定位查询的第 100 项而不线性超过 100 项?

如果它确实必须进行线性搜索,我猜我在任何大网站上看到的分页不是通过简单的“限制”命令实现的?

4

1 回答 1

0

在不讨论具体实现的情况下,肯定有支持基于偏移量的瞬时查找的数据结构。想想普通的 C 整数、结构和指针数组(可能指向结构)。

除此之外,关系数据库还有多种缓存方案,因此即使第一次查找需要一段时间,后续查询也可以显着加快速度。

在实际实现的情况下,您应该始终对已索引的列进行 ORDER BY 和 LIMIT。

于 2012-04-11T16:19:18.003 回答