• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Bardziej optymalne rozwiązanie MYSQL/PHP.

–2 głosów
126 wizyt
pytanie zadane 22 grudnia 2016 w SQL, bazy danych przez Szymon Lisowiec Mądrala (7,190 p.)
Witam,

Mam dwie tabele, z których potrzebuję pobrać kilka rekordów, tak aby dla jednego rekordu z tabeli A przypadał jeden z B. Problem jest taki, że dla jednego rekordu z tabeli A przypada kilka z tabeli B, żaden JOIN nie pomaga, ani nie mogę użyć LIMIT dla JOINa.

Wpadłem na dwa pomysły:
1) Pobrać za pomocą JOINa zbyt dużą ilość rekordów i wywalić niepotrzebne przy pobieraniu ich w pętli PHP. Średnio będzie pobierać gdzieś 16 rekordów z tabeli A, a do każdego z nich do maksymalnie 5 rekordów z tabeli B.
2) Pobrać rekordy z tabeli A i podczas ich pobierania pobrać pasujący rekord z tabeli B.

Problematyka pierwszego - za duża ilość rekordów.
Problematyka drugiego - za duża ilość zapytań.

Która z opcji jest bardziej optymalna? Obstawiam pierwszą, ale nie wiem czy się mylę. A może jest jeszcze inne, lepsze rozwiązanie?
komentarz 22 grudnia 2016 przez Boshi VIP (100,460 p.)
druga opcja to tzw. lazy loading(wzorzec leniwego ładowania) wykorzystywana w orm-ach przykładowo.

swoją drogą podaj dwie tabele, dane i co chcesz osiągnąć, bo myślę, że samymi joinami idzie wszystko wyciągnąć tylko nie wiesz jak.
komentarz 22 grudnia 2016 przez Szymon Lisowiec Mądrala (7,190 p.)
edycja 23 grudnia 2016 przez Szymon Lisowiec

 Groups:

id name
1 abc
1 xyz

 Answers:

groupid status
1 1
1 0
2 1
2 0

i oczekuję:
1, abc, 1
2, xyz, 1

próby z joinami kończą się u mnie wynikiem:
1, abc, 1
1, abc, 0
2, xyz, 1
2, xyz, 0

komentarz 22 grudnia 2016 przez Boshi VIP (100,460 p.)
Możesz dać rzeczywiste nazwy, wraz z relacjami i kluczami obcymi, bo nic z tego nie idzie zrozumieć.
komentarz 22 grudnia 2016 przez Szymon Lisowiec Mądrala (7,190 p.)
Poprawiłem w poście wyżej.
komentarz 23 grudnia 2016 przez Boshi VIP (100,460 p.)
Albo nie umiesz czytać ze zrozumieniem, albo nie masz totalnie podstaw budowy baz danych..

dlaczego ci się id powtarza? co to jest groupid? klucz obcy? czego?  oczekujesz jakiś 1 abc 1.. ale co to za jedynki? jakie to są kolumny?

 

napisz, żę to w końcu raz a porządnie.

nazwy tabel

nazwy kolumn

klucze obce

klucze główne

albo daj screen bazy..
komentarz 23 grudnia 2016 przez Szymon Lisowiec Mądrala (7,190 p.)
Panu podziękujemy, może znajdzie się ktoś inny kto w przeciwieństwie do Ciebie umie czytać ze zrozumieniem. Btw. jaką widzisz różnicę między prawdziwymi nazwami kolumn i tabel, a przykładowymi? Ciekawość prowadzi do piekła :]
komentarz 23 grudnia 2016 przez Boshi VIP (100,460 p.)
A tym, że nie wiadomo co jest czym i co zamierzasz osiągnąć. Co to jest 2, xyz, 1 ? co to jest ta dwójka? który to dokładnie rekord, bo masz dwa, to samo z tymi jedynkami.. już nie wspominając o tym, że nie masz nawet AI założonego na id w grupach, nie potrafisz powiedzieć jakie dane cię interesują słownie...  "chcę wyciągnąć te odpowiedzi które.."

a ponadto odrzucasz pomoc i masz czelność edytować komentarz wedle moich uwag?

powodzenia, może komuś będzie się chciało rozszyfrowywać o co ci chodzi.

 

p.s ostatnio miałem takiego klienta, po 2h  wymiany email dot. projektu, podziękowałem mu i życzyłem powodzenia w szukaniu kogoś kto go zrozumie.

ps2... mało mnie obchodzą twoje dane, i tak to pewnie jakiś projekcik do sszkoły czy prywatny... ale jak nie potrafisz przedstawić problemu to nie oczekuj odpowiedzi.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 89 wizyt
pytanie zadane 8 lipca 2019 w PHP przez BlvckFox Gaduła (4,240 p.)
0 głosów
1 odpowiedź 71 wizyt
pytanie zadane 20 września 2019 w SQL, bazy danych przez BlvckFox Gaduła (4,240 p.)
0 głosów
0 odpowiedzi 48 wizyt
pytanie zadane 20 stycznia 2021 w SQL, bazy danych przez Piotr Jarema Użytkownik (970 p.)

88,363 zapytań

136,963 odpowiedzi

305,690 komentarzy

58,632 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...