Много запросов. Будут ли тормоза!?

Печать RSS
301

С
Автор
Землянин
0
Ситуация такая... Возникла потребность написать дерево катологов. Список катологов находится в таблице, иерархия осуществляется с помощью двух столбцов id и parent, parent показывает какой у каталога папа.

нашел код, который хватило мозгов понять, попробывал, все работает :

$query = mysql_query("select * from test");


while ($r = mysql_fetch_array($query)) {
if ($r['parent']==0){
echo ''.$r['id'].'<br />';
in($r['id'],$r['parent']);
}
}
function in($id,$pid) {
$query = mysql_query("select * from test where parent=".$id."");
while ($r = mysql_fetch_array($query)) {
//echo "<br />";
for ($i=0; $i<$pid; $i++){
echo "&nbsp;&nbsp;";
}
echo ''.$r[id].'<br />';
in($r[id],$r[parent]);
}

}

Но тут дураку понятно, что при большом количестве каталогов, функция in будет делать много запросов.
Хотелось бы узнать из вашего опыта, может ли возникнуть ситуация, когда сайт повиснит из за этих запросов.

Читал,что в секунду может быть десятки тысяч и не тормозить, а может быть 20 и вызывать большую нагрузку.
А

Оранжевые штаны
0
мда, убийство базы, так нельзя делать, скинь сюда структуру базы и что требуется сделать.

Лузер PHP
0
2. Муз-ТВ, нужно сделать бесконечность вложеность каталогов?
А

Оранжевые штаны
0
Зачем дублировать структуру файловой системы в бд?
K

Транклюкаторщик
0
юзай структуру nested sets.
для понимания довольно трудная, но наименее ресурсоемкая при чтении.

Дух
0
Фааааайлы))) все на файлааах делай однозначно)))

2000 лет д.н.э.
0
5. eGo Где Мой Кэш7, он же вроде доя древа комментариев используется?
K

Транклюкаторщик
0
7. ramzes, для хранения деревьев в БД.
древо комментариев, древо директорий, любое smile
A

Пришелец
0
Не пробовал хранить ид сыновьих каталогов в бд?
А потом регулярками.

крутой чЕл
0
6. facepalm
9.Не,не регулярки однозначно
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск