Citat:
Ursprungligen postat av coredev
Som flera andra redan har varit inne på, gör på följande sätt:
1) Hämta unika fråge-id:n från databasen:
Kod:
SELECT id FROM dbo.quiz WHERE category = 445
2) Slumpa och begränsa dessa i ditt applikationslager (php, asp, jsp, etc).
3) Hämta sedan frågorna via ytterligare en SQL:
Kod:
SELECT column1, column2, etc... FROM dbo.quiz WHERE id in (1, 7, 32, 94, etc...)
Du får visseligen en ytterligare fråga till databasen men resultatet från den kan du enkelt cacha i ditt applikationslager.
|
En dålig och ickeskalbar lösning som dessutom introducerar ett nytt problem; cache invalidation. Databasen är designad för att snabbt lösa just sådana här problem.
Enklast är om TS bara postar hela sin query. Hen gör förmodligen någon märklig JOIN vilket ställer till problem.