das ganze wird mit asp.net auf c#-basis realisiert.
ich habe jetzt einige verschiedene möglichkeiten durchgetestet, wobei ich mich dann doch für jene mit der temp-table entschieden habe, weil sie interessanterweise die performanteste ist.
etwas eleganter wäre folgender workaround gewesen:
select * from
(
select top @postsperpage * from
(
select top @postsperpage*@page * from posts order by generatedate asc
)
order by generatedate desc
)
order by generatedate asc;
doch leider lässt sich ja top in einer stored procedure mit einem parameter nicht "dynamisieren".
und das paging in c# selbst durchzuführen erscheint mir doch etwas gewagt.
vielen dank euch 2!