Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Filtr zapytań Oracle SQL w JOIN ON vs WHERE

Nie powinno być żadnej różnicy. Optymalizator powinien wygenerować ten sam plan w obu przypadkach i powinien być w stanie zastosować predykat przed, po lub podczas łączenia w obu przypadkach, w zależności od tego, jakie jest najbardziej wydajne podejście dla tego konkretnego zapytania.

Oczywiście fakt, że optymalizator może ogólnie rzecz biorąc, nie ma gwarancji, że optymalizator będzie faktycznie coś zrobić w konkretnym zapytaniu. Ponieważ zapytania stają się coraz bardziej skomplikowane, niemożliwe staje się wyczerpujące rozważenie każdego możliwego planu zapytania, co oznacza, że ​​nawet przy doskonałych informacjach i doskonałym kodzie optymalizator może nie mieć czasu na zrobienie wszystkiego, co chcesz. Musisz spojrzeć na rzeczywiste plany wygenerowane dla dwóch zapytań, aby sprawdzić, czy są one rzeczywiście identyczne.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak utworzyć tabelę Oracle z zagnieżdżonymi tabelami typów obiektów?

  2. Oracle 11g — uruchamianie kursorów PL/SQL

  3. Oracle SQL Wybierz pasujące zapytanie

  4. Zapytaj procedurę składowaną o nazwy i typy parametrów

  5. Wyświetl wszystkie widoki bazy danych Oracle