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

Lokal midlertidig tabel i Oracle 10 (for omfanget af Stored Procedure)

Du siger, at du er ny i Oracle. Jeg gætter på, at du er vant til SQL Server, hvor det er ret almindeligt at bruge midlertidige tabeller. Oracle fungerer anderledes, så det er mindre almindeligt, fordi det er mindre nødvendigt.

Husk, at brug af en midlertidig tabel medfører følgende omkostninger:

  1. læs data for at udfylde midlertidig tabel
  2. skriv midlertidige tabeldata til filen
  3. læs data fra den midlertidige tabel, når din proces starter
Det meste af den aktivitet er ubrugelig i forhold til at hjælpe dig med at få tingene gjort. En bedre idé er at se, om du kan gøre alt i en enkelt handling, helst ren SQL.

I øvrigt rejser din omtale af forbindelsespooling et andet problem. En proces, der samler store mængder data, er ikke en god kandidat til at køre i en OLTP-tilstand. Du bør virkelig overveje at starte en baggrundsproces (dvs. asynkron) proces, sandsynligvis et databasejob, for at køre din lagrede procedure. Dette gælder især, hvis du ønsker at køre dette job på en regelmæssig basis, fordi vi kan bruge DBMS_SCHEDULER til at automatisere styringen af ​​sådanne ting.



  1. Heroku Rails 4 kunne ikke oprette forbindelse til serveren:forbindelsen blev afvist

  2. Sådan konfigureres en ekstern MySQL-forbindelse

  3. Hvad er MySQL? – En introduktion til databasestyringssystemer

  4. Tilslutning til Oracle 12c Database fra Pentaho Data Integration (Kettle) Community Edition