Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Poprawna konstrukcja zapytania, pobierającego z relacją wiele do wielu
Adi32
post 20.07.2012, 10:59:34
Post #1





Grupa: Zarejestrowani
Postów: 348
Pomógł: 26
Dołączył: 8.10.2008
Skąd: Lublin

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


Witajcie.

Jestem w trakcie pewnego projektu, którego kod będzie oglądał klient, dlatego chce aby wszystko było wysokiej jakości.
Dodatkowo projekt ma się rozwinąć więc jest narzut na optymalizację.

Także do rzeczy - podam przykładową strukturę:

produkt (
id_produkt INT PK
wartosc FLOAT
typ (produkt | usluga)
....
)

opiekun (
id_opiekun INT PK
imie VARCHAR
....
)

produkt_opiekun (
id_produkt INT FK
id_produkt INT FK
)

Chyba najprostsza możliwa struktura tabel w relacji wiele do wielu.

Przywykłem do tego, że gdy muszę pobierać coś z takich tabel rozkładam to na mnogą ilość zapytań i coś mi się zdaje, że nie jest to najoptymalniejsze rozwiązanie.

Dajmy przykładowe zadanie:

Pobierz wszystkie produkty powyżej wartości 1000 które nie mają opiekuna a ich typ to usługa.

Jak zbudować takie zapytanie aby było 'poprawne' z każdej strony? Gdzie dać indeksy? Czy rozbicie tego na kilka zapytań to jest błąd? W jednym zapytaniu i tak musielibyśmy robić podzapytania także czy jest to taka duża różnica?

Chciałbym to raz a dobrze zrozumieć. Jeżeli znacie jakieś miejsce które wyjaśnia lepiej prace z relacjami to proszę o podanie.

Pozdrawiam.

Ten post edytował Adi32 20.07.2012, 11:24:55


--------------------
Wolałem języki z rodziny C ale poszedłem na łatwizne...
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 18:25