Re: plugin idea: single page threads broken up by a divider…
All my knowledge is usually from trial and error (and lots and lots of benchmarking).
MySQL penalties are biggest when there’s no index for what you are searching for and how cacheable the result is. If there’s only one user online, you’ll never notice poor mysql performance. If there’s 500 users online, each making 20-30 queries, you better have decently written code.
Loading a regular topic page is very low penalty as long as other plugins are properly using the bbcache. Many of them don’t and hammer away at mysql for every new user/post encountered.
Ajax topic loading would be no worse than regular page loading as long as the queries are nearly identical for users, therefore the result can be cached in mysql. As long as you use OFFSET in the query, you can keep going forever down the page without preloading the entire result – the hard part is not the db code, but the ajax code. I have no clue how to do it, I’d have to do it in pseudo ajax (simple innerhtml writes) which is probably some kind of security risk.
The bad idea about all of this is bookmarking results. If you want to send a friend a link to the 50th post which is technically on the 4nd page but you seem to be on the first page because of ajax – you’ll never be able to bookmark the 4th page. Some ajax routines dynamically change the URL to solve this by adding a cruft like #page2 after they pass that mark, which will not re-load the page in the brower but alter the bookmark if saved.
Getting back ajax posting is probably a bigger priority than ajax reading for now. And a bit more difficult.