sql >> Database >  >> RDS >> Oracle

Lokale tijdelijke tabel in Oracle 10 (voor de reikwijdte van Stored Procedure)

U zegt dat u nieuw bent bij Oracle. Ik vermoed dat je gewend bent aan SQL Server, waar het vrij gebruikelijk is om tijdelijke tabellen te gebruiken. Oracle werkt anders dus het komt minder vaak voor, omdat het minder nodig is.

Houd er rekening mee dat het gebruik van een tijdelijke tabel de volgende overheadkosten met zich meebrengt:

  1. lees gegevens om tijdelijke tabel te vullen
  2. schrijf tijdelijke tabelgegevens naar bestand
  3. lees gegevens uit tijdelijke tabel terwijl uw proces start
De meeste van die activiteiten zijn nutteloos om u te helpen dingen voor elkaar te krijgen. Een beter idee is om te kijken of je alles in één handeling kunt doen, bij voorkeur pure SQL.

Overigens roept uw ​​vermelding van pooling van verbindingen een ander probleem op. Een proces dat grote hoeveelheden gegevens vermengt, is geen goede kandidaat om in een OLTP-modus te draaien. U zou echt moeten overwegen om een ​​achtergrondproces (d.w.z. asynchroon) te starten, waarschijnlijk een databasetaak, om uw opgeslagen procedure uit te voeren. Dit is vooral het geval als u deze taak regelmatig wilt uitvoeren, omdat we DBMS_SCHEDULER kunnen gebruiken om het beheer van dergelijke dingen te automatiseren.



  1. hoe de app te starten met SQLite darabase op de Android Studio-emulator?

  2. Query om de tabelgrootte in de Oracle-database te controleren

  3. Hoe gegevens exporteren als CSV-indeling van SQL Server met behulp van sqlcmd?

  4. Converteer SQLITE SQL-dumpbestand naar POSTGRESQL