Zwrócono mi uwagę, że USING
konstrukcja (zamiast ON
) w FROM
klauzuli SELECT
zapytań może w niektórych przypadkach wprowadzić bariery optymalizacyjne.
Mam na myśli to słowo kluczowe:
WYBIERZ * Od Dołącz b UŻYCIEM (a_id)
Tylko w bardziej skomplikowanych przypadkach.
Kontekst: ten komentarz do tego pytania .
Używam tego bardzo często i jak dotąd niczego nie zauważyłem. Byłbym bardzo zainteresowany przypadkiem testowym pokazującym efekt lub jakiekolwiek linki do dalszych informacji. Moje poszukiwania były puste.
Idealną odpowiedzią byłby przypadek testowy, który wykazywałby USING (a_id)
gorszą wydajność w porównaniu z alternatywną klauzulą łączenia ON a.a_id = b.a_id
- jeśli tak się może zdarzyć.
id
jako nazwy kolumny.
USING
jest to nieco szybsze - ponieważ powoduje to o jedną kolumnę mniej w macierzy wyników. Twoje ustalenia pochodzą z 2005 i 2008 roku. Zakładam, że wszelkie problemy zostały już naprawione. Jednakże , można zobaczyć możliwe ograniczenie: łączy sięUSING
mogą być zastosowane w celu , jak otrzymanego kolumny łączącej jest wspólnym produktem. Potencjalnie ogranicza to opcje ponownego zamawiania JOIN.