Witajcie.
Mialem do zrealizowania nastepujace zadanie:
tabela MySQL miala nastepujaca strukture:
cat_id(int) - id kategorii,
cat_name(varchar50) - nazwa kategorii
cat_parent(int) - id kategorii nadrzednej, jesli 0 to kategoria glowna
cat_position(int) - jesli jest kilka kategorii to ta kolumna mowi o pozycji
cat_dir(int) - 0 oznacza ze w tej kategorii nie ma innych kategorii, 1 oznacza ze w tej kategorii sa inne kategorie.
Z innej bazy danych ajaxem importowalem dane do powyzszej tabeli a do kolumny cat_dir wpisywane bylo zero.
Teraz nalezalo jedynie zaktualizowac kolumne cat_dir aby bylo wiadomo czy kategoria zawiera inne kategorie.
Zrobilem to tak:
SELECT cat_id, cat_parent FROM kategorie
$id=$wiersz['cat_id']
SELECT cat_id FROM kategorie WHERE cat_parent='$id'
$liczba=mysql_num_rows($result)
if($liczba>0 || cat_parent==0)
UPDATE kategorie SET cat_dir=1
To rozwiazanie dziala ale jest koszmarnie wolne. Wykonanie tego kartezjanu trwa kilka minut (okolo 50 000 rekordow w bazie).
Zastanawiam sie czy jest jakis szybszy sposob na wykonanie tego zadania?
pozdrawiam
Grzegorz