sql >> Database >  >> RDS >> Oracle

Strategie om de prestaties van Oracle DELETE te verbeteren

Het verwijderen van gegevens is een hele klus, voor de database. Het moet vóór afbeeldingen maken, indexen bijwerken, logs opnieuw schrijven en de gegevens verwijderen. Dit is een langzaam proces. Als u een venster kunt hebben om deze taak uit te voeren, is het het gemakkelijkst en snelst om nieuwe tabellen te maken met de gewenste gegevens. Verwijder de oude tabellen en hernoem de nieuwe tabellen. Dit vereist wat instellingswerk, dat ligt voor de hand maar is heel goed mogelijk om te maken. Een stap minder drastisch is om de indexen te verwijderen voordat het verwijderen plaatsvindt. Mijn stem zou gaan voor CTAS (Create Table As Select from) en de nieuwe tabellen bouwen. Een mooi partitioneringsschema zou zeker nuttig zijn, misschien kan Oracle in de volgende release interval- en referentiepartitionering combineren. Het zou heel leuk zijn om te hebben.

Logboekregistratie uitschakelen .... kan niet worden gedaan voor verwijderingen, maar CTAS kan nologging gebruiken. Maak een back-up als u klaar bent en zorg ervoor dat u de databestanden naar de standby-database overbrengt, als u die heeft.



  1. Hoe doe je dating wiskunde die het jaar negeert?

  2. Sql LEFT OUTER JOIN met WHERE-clausule

  3. Waarom werkt de eenvoudige If ELSE-verklaring niet in mySql

  4. Binaire gegevens niet correct opgeslagen in MySQL