Если вы уверены, что ваши данные долго живут, вы, безусловно, можете кэшировать данные, временно сохранив их в текстовом файле.
if (!file_exists($cachefile)) {
// Save to cache
$query=mysql_query('SELECT * FROM ...');
while ($row=mysql_fetch_array($query))
$result[]=$row;
file_put_contents($cachefile,serialize($result),LOCK_EX);
}
else
// Retrieve from cache
$result=unserialize(file_get_contents($cachefile));
foreach ($result as $row)
echo $row['name'];
Хотя использование APC, MemCache или XCache было бы лучшей альтернативой, если учесть производительность.