Med tanke på att du ändå lagrar ett ID i sessionen, är sessionen mest vettig. Att göra en session_start() laddar din sessionsinformation så om du har laddat 1 eller 10 objekt efter det är i stort sett irrelevant (såvida de inte är riktigt stora men det kommer att vara ett problem i alla fall).
Så håll dig till sessionen.
Om du blir riktigt orolig för hastigheten, använd en cache i minnet som APC eller memcache. Att oroa sig för hastigheten för 10 objekt från filsystemet eller databasen är en distraktion. Skillnaden kommer att vara så minimal att den är irrelevant.
Notera:ovanstående förutsätter två saker:
- Frågan fungerar (att hämta 10 rader av 100k bör kunna göras på mindre än 0,1 sekunder); och
- Du gör en fråga inte 10.