![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 330 Pomógł: 0 Dołączył: 25.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli mam takie zapytanie
SELECT * FORM .... LIMIT 0, 1 To działa one dwa razy szybciej niż takie SELECT *, (SELECT x FROM ... ) FORM .... LIMIT 0, 1 Zapytanie działa dwa razy szybciej niezaleznie od tego ile rekordów zróci, czy 100, czy 1, tzn. te subzapytanie, zawsze się wykonuje dla wszystkich potencjalnych rekordów prawpodobnie, przez co czas całego zapytania jest nie potrzebnie wydłużany. Jak zrobić, aby subzapytanie wykonywało się tylko dla rekordów, które zwróciło głowne zapytanie? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Pewnie można połączyć JOINem. Dlaczego robisz w ten sposób? Napisz konkret.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 330 Pomógł: 0 Dołączył: 25.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
nie mogę połączyć joinem.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Napisz konkretnie co chcesz osiągnąć. Bez tego nie jesteśmy w stanie ci poprawnie pomóc...
-------------------- "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: 330 Pomógł: 0 Dołączył: 25.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
chce osiagnać to, żeby podzapytanie wykonaywało się w drugiej kolejności, a nie w pierwszej kolejności. Czy da się to jakoś skonfigurować
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
A czemu nie możesz połączyć JOINEM? Pokazujesz nam jakieś pseudokody i naprawdę nie jesteśmy w stanie ci nic wywróżyć....
Pokaż całe zapytanie jak wygląda, napisz czemu nie mozesz tego zamienic na JOIN to pogadamy jak normalni ludzie a nie jak wróżki -------------------- "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: 330 Pomógł: 0 Dołączył: 25.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
bo już łącze joinem z tą tabelą ale jakby z innego powodu.
Napisze konkretniejszy przykład Kod SELECT *, (SELECT kategoria_id FORM produkt_2_kategoria WHERE produkt_id = p.produkt_id AND main = 1 ) as kategoria_głowna FROM produkt p left join produkt_2_kategoria p_2_k WHERE p_2_k. kategoria_id = X
Ten post edytował propage 15.05.2013, 18:18:39 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat bo już łącze joinem z tą tabelą ale jakby z innego powodu. A z jedną tabelą możesz się łączyć choćby i 1000 razy. Przykład podał już mmmmmmmmmmA na przyszłość opisuj problem od razu to zaoszczędzisz kupę czasu... -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 330 Pomógł: 0 Dołączył: 25.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
ok, to trochę pomogło przyśpieszyć zapytanie.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Pokaż PRAWDZIWE zapytanie i SHOW CREATE tabel, bo wierzyć mi się nie chce by "trochę pomogło"... Powinno dostać niezłego spida.
Ten post edytował mmmmmmm 16.05.2013, 14:07:41 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 19:17 |