![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 107 Pomógł: 1 Dołączył: 23.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam tabelę ofert oraz tabelę rozmiarów, wktórej znajdują się sie odpowiednie rozmiary z odpowiednimi cenami. Jedna oferta może mieć kilka rozmiarów. W jaki sposób ułożyć zapytanie aby jednym zapytaniem pobrać dane oferty oraz jej najniższą cenę i rozmiar pozdrawiam |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
GROUP BY oraz MIN
Więcej info w manualu -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 107 Pomógł: 1 Dołączył: 23.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Group BY znam.. ale z tego co czytalem nie zaleca się jego używania.. inne pomysły?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat ale z tego co czytalem nie zaleca się jego używania A to dobre ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 107 Pomógł: 1 Dołączył: 23.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nie muszę Ci tego wskazywać...
Z doświadczenia też wiem że taka operacja na 1000 rekordach ofert po jakieś 4 rozmarówki skutecznie opóźnia ładowanie strony i jest nie efetywne Inne pomysły? Ten post edytował maniutek08 26.06.2012, 13:50:34 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Nie muszę Ci tego wskazywać... Jedno wielkie LOL Z doświadczenia też wiem że taka operacja na 1000 rekordach ofert po jakieś 4 rozmarówki skutecznie opóźnie łądowanie strony i jest nie efetywne ![]() ALe ok. Twoja sprawa, czekaj dalej na inne rozwiązanie ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Maniutek - GROUP BY to jedna z podstawowych operacji SQL i mechanizmy baz danych są zoptymalizowane, możesz śmiało używać
![]() Równie dobrze możesz użyć podzapytań, coś na kształt:
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 341 Pomógł: 40 Dołączył: 23.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
z podzapytaniami to akurat (w standartowym mysql'u) uwazac. nie radzi sobie najlepiej. (tzn baaaaaaaaaaaaardzooooooooooo spooooooowaaaaaaaaaaaaaaaaaalniiiiiiiiaaaaaaaaaaaaaa)
obecnie jest zalecale jest albo przepisanie na joina, albo rozbicie na dwa różne zapytania. jesli musisz koniecznie uzywac podzapytan - zainteresuj sie silnikiem percona, przepisali ten kawalek kodu od nowa. j. edit:: moja pomylka(nie do konca ale nie bylem precyzyjny) nie chodzilo mi o serwer percona ale o fork mariaDB to nie do konca to samo, ale czesto jest w tandemie, tu moja pomylka. Ten post edytował alegorn 11.07.2012, 15:36:28 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 168 Pomógł: 26 Dołączył: 15.09.2011 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Do tego co chcesz zrobić, to jak napisał @nospor należy użyć GROUP BY i MIN. Jest do dla Ciebie najprostsze i najbardziej optymalne rozwiązanie. Jeśli chodzi o to co przeczytałeś, to nie wiem skąd to wziąłeś, ale albo ktoś się pomylił, albo przegiął ostro, bo wcale to nie obciąża tak bardzo. Nie można wierzyć we wszystko co się gdzieś tam przeczyta, zwłaszcza jak nie jest potwierdzone
![]() Pozdro! -------------------- www.piotrex41.pl - piotrex41 portfolio
d(-.-)b - Music is my life || PHP is my passion |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chodzi o to co przeczytałeś, to nie wiem skąd to wziąłeś, ale albo ktoś się pomylił, albo przegiął ostro, bo wcale to nie obciąża tak bardzo. Nie można wierzyć we wszystko co się gdzieś tam przeczyta, zwłaszcza jak nie jest potwierdzone ![]() I sądzisz, że tysiące internautów bezmyślnie powtarza i nikt tego nie dementuje... Pseudo baza jaką jest MySQL średnio w porywach do stanów niskich radzi sobie z podzapytaniami. Podobnie jak średnio radzi sobie z WHERE na polach nieindeksowanych. Przy małych tabelach tego nie widać. Przy tabelach rzędu kilkuset tysięcy zaczynają się jej problemy z wydajnością... Niezależnie od ENGINE. I mogę to potwierdzić, bo pracuję z MySQL z tabelami rzędu milionów rekordów... Dla przykładu podam, że na PostgreSQL kłopoty zaczynają się po ok. 10 mln rekordów (zaczyna indeks głupieć, ale wszystko działa OK - robi Scan Seq zamiast Index Seq) Zresztą MySQL ma tyle błędów, że szkoda gadać... |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Ponarzekałeś sobie -> jaki wniosek?
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat I sądzisz, że tysiące internautów bezmyślnie powtarza i nikt tego nie dementuje... Czytaj ze zrozumieniem: my (ja i piotrex41) tu mowimy o group by a nie o podzapytaniach...
Pseudo baza jaką jest MySQL średnio w porywach do stanów niskich radzi sobie z podzapytaniami. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
piotrex41 odniósł się do wypowiedzi alegorn (tak mi się wydaje). A tam była mowa o podzapytaniach.
Ten post edytował mmmmmmm 11.07.2012, 14:45:15 |
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
A ja odnoszę wrażenie ze odniósł się do:
Cytat Group BY znam.. ale z tego co czytalem nie zaleca się jego używania.. inne pomysły? Sposób jego wypowiedzi wskazuje, że cały czas pisze do jednej i tej samej osoby,czyli do autora wątku. Jakby chcial zmienić odbiorcę, to by chyba o tym napisał ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 15:00 |