ich würde für jede angezeigte seite die user-objekte mit einem query laden, die benötigt werden.
d.h. mithilfe des ersten query, nämlich dem auslesen der posts, gleich die benutzerIDs der user holen, die auf der betreffenden seite gepostet haben.
z.b:
thread 1, seite 2:
post1 => userID 1
post2 => userID 2
post3 => userID 78
post4 => userID 1
... und mit einem SELECT ding,dong FROM users WHERE userID IN (1,2,78 ) könntest du mit einem neuen query alle user holen, die auf dieser seite anzuzeigen sind.
normalerweise müsste das, mit der heuristik, dass eigentlich selbst bei 50 posts pro seite nur 3-10 user geladen werden müssen, da durch das 'gespräch' der selbe user normalerweise mehrfach auf der seite auftaucht, relativ wenig benutzerdaten erfordern.
worst case ist natürlich, dass auf einer 'langen' seite jeder user ein einziges mal gepostet hat. |