sql >> Database >  >> RDS >> Oracle

Een waarde instellen voor LIMIT tijdens het gebruik van bulkcollect

Gebruik een impliciete cursor in een cursor FOR LOOP. Het maakt de code eenvoudiger en de standaardwaarde van 100 is bijna altijd goed genoeg.

Ik heb veel mensen veel tijd zien verspillen door zich hier zorgen over te maken. Als je nadenkt over waarom bulkcollect verbetert de prestaties, u begrijpt waarom grote aantallen niet helpen.

Bulkcollect verbetert de prestaties door de contextwisselingen tussen SQL en PL/SQL te verminderen. Stelt u zich het zeer onwaarschijnlijke worstcasescenario voor, waarbij het wisselen van context alle runtime in beslag neemt. Een limiet van 2 elimineert 50% van de contextwisselingen; 10 elimineert 90%; 100 elimineert 99%, enz. Teken het uit en u zult zich realiseren dat het niet de moeite waard is om de optimale limietgrootte te vinden:

Gebruik de standaard. Besteed je tijd aan je zorgen maken over belangrijkere dingen.




  1. Hulpprogramma voor clusterverificatie dat een groot aantal xml-bestanden genereert op het bestandssysteem "/u01".

  2. Hoe een tabelnaam in SQL Server te hernoemen

  3. MySQL-verbinding werkt niet:2002 Geen dergelijk bestand of map

  4. Gebruik MySQL relationele databases op Ubuntu 8.04 (Hardy)