Zwrócono mi uwagę, że USINGkonstrukcja (zamiast ON) w FROMklauzuli SELECTzapytań 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ć.
idjako nazwy kolumny.
USINGjest 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ęUSINGmogą być zastosowane w celu , jak otrzymanego kolumny łączącej jest wspólnym produktem. Potencjalnie ogranicza to opcje ponownego zamawiania JOIN.