Aangezien je toch een ID in de sessie opslaat, is de sessie het meest logisch. Als u een session_start() uitvoert, wordt uw sessie-informatie geladen, dus of u daarna 1 of 10 items hebt geladen, is grotendeels irrelevant (tenzij ze erg groot zijn, maar dat zal hoe dan ook een probleem zijn).
Dus blijf bij de sessie.
Als je je echt zorgen maakt over snelheid, gebruik dan een in-memory cache zoals APC of memcache. Je zorgen maken over de snelheid van 10 items uit het bestandssysteem of de database is een afleiding. Het verschil zal zo minimaal zijn dat het niet relevant is.
Opmerking:het bovenstaande veronderstelt twee dingen:
- De zoekopdracht is goed (het ophalen van 10 rijen van de 100.000 zou in minder dan 0,1 seconden moeten kunnen); en
- Je voert één zoekopdracht uit, niet tien.