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

Hvordan kalder man SELECT over DBLINK over DBLINK?

For det første, arkitektonisk, ville jeg være temmelig usikker på ethvert design, der involverede at trække data over flere databaselinks. Jeg har set det gjort, når den eventuelle kilde er en gammel version af Oracle, som måldatabasen ikke kan oprette forbindelse til direkte, så en mellemliggende database, der kører en mellemversion af Oracle, blev brugt. Det er dog meget sjældent i praksis.

Fra et præstationsperspektiv er denne form for tilgang alvorligt problematisk. Der er selvfølgelig det problem, at dataene vil blive sendt over netværket to gange. Men mere foruroligende tager du et vanskeligt problem, optimerer distribuerede SQL-sætninger og gør det næsten uoverskueligt. Du skal dybest set enten garantere, at du aldrig vil forespørge lokale data og fjerndata i den samme forespørgsel, eller du skal leve med den resulterende ydeevne, hvis Oracle beslutter sig for en dum forespørgselsplan, fordi det sæt af værktøjer, der er tilbage for at give dig mulighed for at optimer denne form for forespørgsel er minimal.

Når det er sagt, skal den mellemliggende database have synonymer eller synspunkter, der abstraherer databaselinket. Så

På A:

  • opret databaselink til B

På B:

På A kan du så

SELECT *
  FROM [email protected]



  1. PDO bind_param er udefineret metode

  2. Oracle PLSQL returnerer en række type

  3. SQL BEGRÆNSNINGER

  4. Hvordan bruger man WebDev.WebServer.exe (VS Web Server) i x64?