Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl


cicik
Napisane: 10.03.2011, 22:08:00





Grupa: Zarejestrowani
Postów: 219
Dołączył: 18.07.2006
Skąd: Piekary Śląskie

Ostrzeżenie: (0%)
-----

Cytat(Tiregan @ 10.03.2011, 21:54:47 ) *
Czyli chodzi o, to że przy sortowaniu inną metodą niż na lft tworzysz tabelę(obliczasz wszystkie lft i rgt) na nowo tylko, że trzymasz ją"tymczasowo"? Tylko jak jest dużo wejśc na stronę, to wydajność raczej sporo spada, a jakby zrobić, to od razu, po każdym "sortowalnym" atrybucie zrobić atrybuty lft i rgt? Chodzi, o to:
id | name | name_lft | name_rgt | time_add | time_add lft | time_add rgt | ...
I przy każdym update, insert, delete zmieniać każde lft i rgt? Baza zamula praktycznie tylko przy zmianie jej zawartości, a nie przy odczycie. Mogę prosić o opinię na temat tego pomysłu? I dziękuję za podpowiedzi.


Dokładnie to miałem na myśli. Wszystkie pary atrybutów trzeba wyliczać przy zapisach, a nie odczytach. Robienie tego przy odczytach byłoby samobójstwem.

Cytat(Tiregan @ 10.03.2011, 21:54:47 ) *
Dziękuję za nazwanie tego, to już pomoże. Zrobiłem właśnie taką funkcję rekurencyjną, tylko wydawał mi się, to lichy sposób, a chciałem żeby funkcja działał ość szybko nawet przy dużo więcej niż 100tys. rekordów. Ale przyznam się, nie jest mi, to zbytnio potrzebne. To byłoby tylko w celach "akademickich".
Dziękuję za podpowiedzi. Najwyżej wrzucę do tego moją starą funkcyję.


Ogólna zasada mówi, że to co można zrobić w bazie należy robić w bazie. Ale tak jak wyżej napisano - wszystko zależy na jakich zbiorach chcesz operować. Przy małych sposób i miejsce sortowania nie będzie miało znaczenia, przy dużych zbiorach znaczenie będzie miało ogromne.
  Forum: MySQL · Podgląd postu: #844986 · Odpowiedzi: 8 · Wyświetleń: 1 171

cicik
Napisane: 10.03.2011, 21:34:42





Grupa: Zarejestrowani
Postów: 219
Dołączył: 18.07.2006
Skąd: Piekary Śląskie

Ostrzeżenie: (0%)
-----

Cytat(Tiregan @ 10.03.2011, 20:52:04 ) *
To mi sortuje po polu name, a gdybym chciał posortować po polu time_add? Które jest datą. Jak, to osiągnąć?


Tak jak wspomniał poprzednik. Kolumna LEFT determinuje sposób sortowania. Miałem kiedyś podobny problem. Kolega wyżej proponuje sortowanie po stronie kodu PHP. Ja do tego podszedłem zgoła inaczej. Dla każdego atrybutu (kolumny) po którym chcę sortować (nazwa, czas etc.) tworzę osobną parę parametrów LEFT i RIGHT. Wymaga to więcej pracy po stronie bazy przy konstrukcji drzewa (polecam użycie procedury składowanej i tabeli tymczasowej trzymanej w pamięci engine typu MEMORY).
  Forum: MySQL · Podgląd postu: #844969 · Odpowiedzi: 8 · Wyświetleń: 1 171

cicik
Napisane: 23.12.2007, 18:10:19





Grupa: Zarejestrowani
Postów: 219
Dołączył: 18.07.2006
Skąd: Piekary Śląskie

Ostrzeżenie: (0%)
-----

Na moje oko takie coś działało od momentu kiedy pojawiła się w PHP obiektowość.
  Forum: PHP · Podgląd postu: #422544 · Odpowiedzi: 1 · Wyświetleń: 694

cicik
Napisane: 23.09.2007, 08:40:22





Grupa: Zarejestrowani
Postów: 219
Dołączył: 18.07.2006
Skąd: Piekary Śląskie

Ostrzeżenie: (0%)
-----

Wywal BEGIN i END i zadziala
  Forum: PHP · Podgląd postu: #398440 · Odpowiedzi: 1 · Wyświetleń: 806

cicik
Napisane: 25.07.2006, 18:41:43





Grupa: Zarejestrowani
Postów: 219
Dołączył: 18.07.2006
Skąd: Piekary Śląskie

Ostrzeżenie: (0%)
-----

Cytat(ravo @ 24.07.2006, 22:31 ) *
Czy jest któraś lepsza czy to zależy od zastosowań??


ImageCopyResampled w przeciwienstwie do ImageCopyResized po zmianie rozmiaru przeprowadza interpolacje dzieki czemu zdjecia pomniejszone duzo lepiej wygladaja.
  Forum: PHP · Podgląd postu: #277633 · Odpowiedzi: 3 · Wyświetleń: 2 119


New Posts  Nowe odpowiedzi
No New Posts  Brak nowych odpowiedzi
Hot topic  Popularny temat (Nowe)
No new  Popularny temat (Brak nowych)
Poll  Sonda (Nowe)
No new votes  Sonda (Brak nowych)
Closed  Zamknięty temat
Moved  Przeniesiony temat
 

RSS Wersja Lo-Fi Aktualny czas: 24.04.2024 - 00:07