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

Tabella temporanea locale in Oracle 10 (per l'ambito di Stored Procedure)

Dici di essere nuovo in Oracle. Immagino che tu sia abituato a SQL Server, dove è abbastanza comune utilizzare tabelle temporanee. Oracle funziona in modo diverso, quindi è meno comune, perché è meno necessario.

Tieni presente che l'utilizzo di una tabella temporanea comporta i seguenti costi generali:

  1. leggere i dati per popolare la tabella temporanea
  2. scrivi i dati della tabella temporanea su file
  3. legge i dati dalla tabella temporanea all'avvio del processo
La maggior parte di quell'attività è inutile in termini di aiuto per portare a termine le cose. Un'idea migliore è vedere se puoi fare tutto in una singola azione, preferibilmente puro SQL.

Per inciso, la tua menzione del pool di connessioni solleva un altro problema. Un processo che consuma grandi quantità di dati non è un buon candidato per l'esecuzione in modalità OLTP. Dovresti davvero prendere in considerazione l'avvio di un processo in background (cioè asincrono), probabilmente un processo di database, per eseguire la procedura memorizzata. Ciò è particolarmente vero se desideri eseguire questo lavoro su base regolare, perché possiamo utilizzare DBMS_SCHEDULER per automatizzare la gestione di tali cose.