NULL
vs NOT NULL
-- Użyj NOT NULL
chyba że masz powód biznesowy dla NULL
.
Użyj InnoDB z odpowiednim PRIMARY KEY
na każdym stole. To prawdopodobnie będzie szybsze.
„Korzystanie z indeksu”, tam, gdzie ma to sens, może niektórym pomóc.
product.categoryid = 4871
nie należy do ON
klauzula vendorimport
; przenieś go do WHERE
klauzula. (Nie przyspieszy to.)
Twoje zapytanie nie może być dalej optymalizowane – musi wykonaj wszystkie JOIN i dostarcz wszystkie wiersze.
Ale... Czy naprawdę chcesz 3917 wierszy danych wyjściowych? Czy możesz sobie z tym poradzić? Może chcesz tylko kilka z nich i możesz je filtrować podczas SELECT? To może przyspieszyć działanie.