propage
9.05.2013, 19:23:23
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?
mmmmmmm
9.05.2013, 20:20:57
Pewnie można połączyć JOINem. Dlaczego robisz w ten sposób? Napisz konkret.
propage
10.05.2013, 14:11:14
nie mogę połączyć joinem.
nospor
10.05.2013, 14:17:57
Napisz konkretnie co chcesz osiągnąć. Bez tego nie jesteśmy w stanie ci poprawnie pomóc...
propage
15.05.2013, 11:54:55
chce osiagnać to, żeby podzapytanie wykonaywało się w drugiej kolejności, a nie w pierwszej kolejności. Czy da się to jakoś skonfigurować
nospor
15.05.2013, 12:12:47
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
propage
15.05.2013, 18:18:23
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
mmmmmmm
15.05.2013, 23:11:37
SELECT *, p2.kategoria_id AS kategoria_głowna
FROM
produkt p
LEFT JOIN
produkt_2_kategoria p2
ON p2.produkt_id=p.produkt_id AND p2.main=1
LEFT JOIN produkt_2_kategoria p_2_k WHERE p_2_k. kategoria_id = X
nospor
16.05.2013, 07:39:46
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ż mmmmmmmmmm
A na przyszłość opisuj problem od razu to zaoszczędzisz kupę czasu...
propage
16.05.2013, 13:19:32
ok, to trochę pomogło przyśpieszyć zapytanie.
mmmmmmm
16.05.2013, 14:06:47
Pokaż PRAWDZIWE zapytanie i SHOW CREATE tabel, bo wierzyć mi się nie chce by "trochę pomogło"... Powinno dostać niezłego spida.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.