Allow users to read their own and others’ comment histories more easily. This could be accomplished either by adding links to each page of a user’s comments (rather than just the very limited “next” and “previous”), or by getting rid of the unpredictably-valued “after” parameter to allow easier URL hacking.
That’s a database performance trick, which means that getting rid of it will increase database load.
What’s happening is that, in order to jump a set number forward, databases have to perform the same query each time, but retrieve more and more records. It’s like “jump to the start of this user’s stuff, and read 10. Now go to the start, read 20, and give me the last 10. Now go to the start, read 30, and give me the last 10....” So performance gets worse and worse as you page through it, because each time the reads are repeating, and getting longer each time.
The “after” trick basically makes it so that every page is “jump to the spot given by the after tag, and read the next 10″. Performance doesn’t degrade as you get further into the list.
Alicorn’s suggestion (of browsing by date) is probably easier to implement, in that the site could probably look up what “after” value to use, based on the date.
There’s another reason we want this: Otherwise paging back through recent comments could end up skipping comments if new ones were posted in the meantime!
Allow users to read their own and others’ comment histories more easily. This could be accomplished either by adding links to each page of a user’s comments (rather than just the very limited “next” and “previous”), or by getting rid of the unpredictably-valued “after” parameter to allow easier URL hacking.
Example of the latter method:
http://lesswrong.com/user/Dreaded_Anomaly?count=10&after=t1_3uea links correctly to the second page of my comments.
http://lesswrong.com/user/Dreaded_Anomaly?count=10 redirects to the first page of my comments.
That’s a database performance trick, which means that getting rid of it will increase database load.
What’s happening is that, in order to jump a set number forward, databases have to perform the same query each time, but retrieve more and more records. It’s like “jump to the start of this user’s stuff, and read 10. Now go to the start, read 20, and give me the last 10. Now go to the start, read 30, and give me the last 10....” So performance gets worse and worse as you page through it, because each time the reads are repeating, and getting longer each time.
The “after” trick basically makes it so that every page is “jump to the spot given by the after tag, and read the next 10″. Performance doesn’t degrade as you get further into the list.
Alicorn’s suggestion (of browsing by date) is probably easier to implement, in that the site could probably look up what “after” value to use, based on the date.
There’s another reason we want this: Otherwise paging back through recent comments could end up skipping comments if new ones were posted in the meantime!
Ah, I see. Thank you for the explanation.