Учитывая, что вы в любом случае сохраняете идентификатор в сеансе, сеанс имеет смысл. Выполнение session_start () загружает информацию о вашем сеансе, поэтому загруженные вами 1 или 10 элементов после этого в значительной степени не имеют значения (если они действительно большие, но это будет проблемой в любом случае).
Так что придерживайтесь сессии.
Если вы действительно беспокоитесь о скорости, используйте кэш в памяти, такой как APC или memcache. Беспокойство вызывает беспокойство по поводу скорости 10 элементов из файловой системы или базы данных. Разница будет настолько минимальной, что не будет иметь значения.
Примечание: приведенное выше предполагает две вещи:
- Запрос выполняется (получение 10 строк из 100 КБ должно быть выполнено менее чем за 0,1 секунды); и
- Вы делаете один запрос, а не 10.