sql >> Database teknologi >  >> RDS >> Oracle

Oracle SQL Query Filter i JOIN ON vs WHERE

Der burde ikke være nogen forskel. Optimizeren bør generere den samme plan i begge tilfælde og bør være i stand til at anvende prædikatet før, efter eller under joinforbindelsen i begge tilfælde baseret på, hvad der er den mest effektive tilgang til den pågældende forespørgsel.

Selvfølgelig, det faktum, at optimeringsværktøjet kan gøre noget, er generelt ingen garanti for, at optimeringsværktøjet vil faktisk gøre noget i en bestemt forespørgsel. Efterhånden som forespørgsler bliver mere komplicerede, bliver det umuligt udtømmende at overveje enhver mulig forespørgselsplan, hvilket betyder, at selv med perfekt information og perfekt kode, kan optimeringsværktøjet ikke have tid til at gøre alt, hvad du gerne vil have den til at gøre. Du skal tage et kig på de faktiske planer, der er genereret for de to forespørgsler for at se, om de faktisk er identiske.



  1. Hvordan sletter man fra flere tabeller i MySQL?

  2. Hvordan beder man MySQL om at bede om værdier i en forespørgsel?

  3. hvordan man bruger xmltable i oracle?

  4. Store_result og get_result for statement