SQL偏移时间复杂度?

时间:2014-02-16 21:20:20

标签: sql time-complexity offset

SQL偏移的compltexy时间是多少?我可能认为它不是常数,并且抵消很多元素需要比0偏移更长的时间,但我可能还认为时间复杂度为O(1),因为数组和RAM访问时间是恒定的。在google appengine中,手册说偏移是低效的,而且应该使用游标,为什么当它们处于恒定时间时,偏移效率会更低?我们建议在分页大型数据集时不使用偏移量,而是使用游标或内存缓存,这是因为偏移量不如O(1)那样,如果所有数据都适合RAM,那么它应该是唯一的O( n)操作将计数到列表的n个元素,而任何访问都可以在恒定时间内完成,与数组访问在恒定时间内的方式相同?

1 个答案:

答案 0 :(得分:3)

我发现这篇文章对这个主题非常有用。它将SQL OFFSET和SEEK的性能与分页进行比较。 http://use-the-index-luke.com/sql/partial-results/fetch-next-page