![]() |
![]() |
![]()
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...
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 18:25 |