А что мешает управлять чтением через fread()?
Когда файл большой, всегда помогает чтение блоками.
И вообще, чего все привязались к стандартному способу форума "прочесть_целиком + unserialize"?
Леголегс помнишь мой скрипт архиватора? Там файл архива один. И даже если он 100мб, при просмотре содержимого или извлечении отдельных файлов время выполнения 0.01-0.1 сек

Память не считал, но также мало.