View Issue Details

IDProjectCategoryView StatusLast Update
1854Composrcore_abstract_interfacespublic2019-11-24 21:19
ReporterChris Graham Assigned ToGuest  
PrioritynormalSeverityfeature 
Status newResolutionopen 
Summary1854: Support keyset pagination
DescriptionOffset pagination is slow when going into deep datasets.
Additional InformationFuller explanation:
http://use-the-index-luke.com/no-offset
TagsType: Cross-cutting feature , Type: Performance
Attach Tags
Time estimation (hours)50
Sponsorship open

Sponsor

Date Added Member Amount Sponsored

Relationships

related to 3185 Not AssignedGuest Pagination indexing table specifically for forum topics 

Activities

Chris Graham

2015-07-18 10:07

administrator   ~2960

See also 'search keys' In Tapatalk implementation.

Chris Graham

2016-06-22 23:38

administrator   ~4064

This is now implemented for forum topics (not in Tapatalk though).

It's only worth doing for result sets with large numbers of records which are actively gone deep into. That could be 'news' or 'activities', but forum topics is by far the most common thing to have the issue.

Chris Graham

2019-11-18 21:20

administrator   ~6160

Last edited: 2019-11-24 21:19

One problem with this is pagination becomes less user-friendly. IIRC we have to disable the 'last' button when using keyset pagination.

3185 would be a better approach - and maybe we could even drop what we already have of this feature if we implement that.

EDIT: No, for 2 reasons...
1) actually I was able to implement a hybrid mode, where it does a pre-query to find the keyset ID even if one wasn't provided by URL, which is massively faster than using regular MySQL LIMIT clauses. This is best of both worlds and works great.
2) a background-generated pagination is not going to work for forumview, as each new post would invalidate it (posting in a topic changes the topic order on forumview)

Add Note

View Status
Note
Upload Files
Maximum size: 32,768 KiB

Attach files by dragging & dropping, selecting or pasting them.
You are not logged in You are not logged in. This means you will not get any e-mail notifications. And if you reply, we will not know for sure you are the original poster of the issue.

Issue History

Date Modified Username Field Change
2016-06-20 03:14 Chris Graham Tag Attached: Type: Performance
2016-06-22 23:38 Chris Graham Note Added: 0004064
2016-12-08 16:19 Chris Graham Tag Attached: Type: Cross-cutting feature
2017-04-05 12:04 Chris Graham Relationship added related to 3185
2017-05-01 16:48 Chris Graham Category core => core_abstract_interfaces
2019-11-18 21:20 Chris Graham Note Added: 0006160
2019-11-24 21:15 Chris Graham Note Edited: 0006160
2019-11-24 21:19 Chris Graham Note Edited: 0006160