Оптимизация запроса

AS0ft

Новичок
Оптимизация запроса

Всем добрый день! Подскажите как оптимизировать данный код.
Нужно вытащить все категории и подкатегории и отдать в массив.

Имеется таблица...
PHP:
TABLE `categ`(   
`Id` smallint(2) unsigned NOT NULL auto_increment,
`Parent_Id` smallint(2) unsigned NOT NULL default '0',   
`Name` varchar(150) NOT NULL default '',  
 PRIMARY KEY  (`Id`) )

функция

PHP:
function getCategs($id, $prefix, &$categ)
	{
		$query = Query("SELECT * FROM cat WHERE Parent_Id = '$id' ORDER BY POSI ASC");
		if (!$query->numrows()) 
		{
			return;
		} 
		
		while ($item = $query->fetchrow())
		{
			array_push($categ, $item);
			$this->getCategs($item->Id, $prefix . " - ", $categ);
		} 
		return $categ;
	}
и потом я получаю массив с категориями и подкатегориями соответственно.
$allCateg = $this->getCategs(0, "", $categs);

но у меня получается куча запросов, как это можно оптимизировать. Спасибо
 
Сверху