Wpis z mikrobloga

Jak bardzo złe jest wykonywanie selectów w pętli? Mam sobie relacje (taką autobusową) i ona ma sobie przystanki. Relacja jest w osobnej tabeli, przystanki i rozkład w osobnych. Najpierw odpytuję o relacje, dostając przy okazji id a potem pytam po przystanki w pętli dla każdej relacji. Można jakoś lepiej? #programowanie #sql #php
  • 26
  • Odpowiedz
@m4kb0l: nie za bardzo rozumiem, ale lepszym rozwiązaniem wydaje się wyciągnięcie wszystkich przystanków i dopiero w kodzie wyciągnięcie odpowiednich. Pamiętaj, że połączenia z bazą są wąskim gardłem wydajnościowym.
  • Odpowiedz
@m4kb0l: A to że nie powinno być nazwy relacji tylko ID z bazy z nazwami przystanków.

TABELAPRZYSTANKI :: IDPRZYSTANKU | IDMIEJSCOWOŚCI | NAZWAPRZYSTANKU | LOKALIZACJANAMAPIE

TABELAMIEJSCOWOSCI :: IDMIEJSCOWOSCI | NAZWA_MIEJSCOWOSCI
  • Odpowiedz
@prezes_n: Po co dodatkowa tabela? To jest nazwa czytelna dla ludzi. Równie dobrze może się nazywać _Zajebista relacja #!$%@?.

@ppawel: O, myślałem że coś spieprzyłem. Miałbyś chwilę rzucić okiem na bazę? Jestem ciekawy czy dobrze ją zaprojektowałem.
  • Odpowiedz
@m4kb0l: chyba nie pogrupujesz tego tak jak chcesz - możesz najwyżej powyciągać id z poszczególnych tabel i potem pobrać brakujące dane, ale upewnij się, że to będzie wydajniejsze niż robienie tego przez bazę (silniki bazy przy dobrym zaplanowaniu mogą być zaskakująco wydajne)
  • Odpowiedz
Po co dodatkowa tabela? To jest nazwa czytelna dla ludzi. Równie dobrze może się nazywać Zajebista relacja #!$%@?.


@m4kb0l: Zmienisz zdanie co do nazywania różnych rzeczy w kodzie jak zaczniesz pracować na trochę większym kodzie niż projekt na studia :P. Ludzie piszą całe książki na ten temat :).
  • Odpowiedz
@Yahoo_: Nie rozumiem. Przecież pole rel_nazwa służy po prostu do tego, żeby nadać jakąś nazwę dla relacji, czytelną dla człowieka. W czym się mylę?
  • Odpowiedz
@prezes_n: Przecież tak jest -_- :). Przystanki są w osobnej tabeli. Nazwa to relacji to tylko nazwa. To co widać to wynik selecta złączającego 3 tabele.

@Yahoo_: Proszę. Dupy nie urywa ;]. Na razie roboczo jest gwiazdka bo jeszcze nie wiem co będzie mi potrzebne.
  • Odpowiedz
@m4kb0l: Myślałem, że koledze wyżej chodziło o nazwy kolumn (co do zasady skrótom mówimy "nie!") :P.

Wrzuć nie wstydź się, nie będziemy się śmiać...

  • Odpowiedz
@m4kb0l: Nie zauważyłem zapytania. Wygląda ok :). A co do początkowego pytania to też jestem zdania, żeby wyciągnąć z bazy wszystko posortowane i w kodzie pogrupować :)
  • Odpowiedz