Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Optymalizacja zapytania
Forum PHP.pl > Forum > Bazy danych > MySQL
Enikc
Cześć mam takie zapytanie:

  1. SELECT DP.lp FROM MZ
  2. LEFT JOIN MG
  3. ON MG.id = MZ.super
  4. LEFT JOIN DK
  5. ON MG.idhandl = DK.id
  6. LEFT JOIN DP
  7. ON DP.super = DK.id
  8. WHERE MG.id = 100307
  9. AND MZ.idtw <> DP.idtw


DK - dokument sprzedażowy
DP - produkty na dokumencie sprzedażowym

MG - dokument magazynowy
MZ - pordukty na dokumencie magazynowym

Na dokumencie magazynowym jest 1 produkt
Na dokumencie sprzedażowym są 3 produkty

Zapytanie daje dobry wynik LP (liczba porzadkowa) 2 i 3 nie jest zgodna.
Tylko troche to długo trwa, czy można to jakoś usprawnić?
Pyton_000
indeksy pozakładane?
bobek358
Najlepiej wywołaj zapytanie z
  1. EXPLAIN
powie ono z jakich indeksów korzysta zapytanie.
Enikc
inner outer left right, ma znaczenie w szybkosci działania?
ilies
Poczytaj sobie: inner outer left right
mmmmmmm
Wywal LEFT JOINY. Jeśli interesują cię NULLe, a bierzesz dane z tabeli, gdzie dla LEFT może być Null, to równie dobrze jest to taka sama informacja, jak brak danych. Czyli skorzystaj z normalnego JOINa. A sporo przyspieszy.
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.