Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle SQL филтър за заявки в JOIN ON срещу WHERE

Не трябва да има разлика. Оптимизаторът трябва да генерира един и същ план и в двата случая и трябва да може да приложи предиката преди, след или по време на присъединяването и в двата случая въз основа на най-ефективния подход за тази конкретна заявка.

Разбира се, фактът, че оптимизаторът може направи нещо, като цяло, не е гаранция, че оптимизаторът ще го направи всъщност направи нещо в конкретна заявка. Тъй като заявките стават по-сложни, става невъзможно да се разгледа изчерпателно всеки възможен план на заявка, което означава, че дори с перфектна информация и перфектен код, оптимизаторът може да няма време да направи всичко, което бихте искали да направи. Ще трябва да погледнете действителните планове, генерирани за двете заявки, за да видите дали всъщност са идентични.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DatabaseMetaData.getColumns връща празен ResultSet за синоними

  2. Съществува / не съществува:'select 1' vs 'select field'

  3. Съберете статистически данни за схемата с помощта на FND_STATS в EBS 11i и R12

  4. Oracle:обединяване на две различни заявки в една, LIKE &IN

  5. Как да изберете записи с максимални стойности в две колони?