![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 518 Pomógł: 18 Dołączył: 21.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 05:51 |