Hvorfor er masseindsamling hurtigere i Oracle?
Hvorfor er masseindsamling hurtigere i Oracle?

Video: Hvorfor er masseindsamling hurtigere i Oracle?

Video: Hvorfor er masseindsamling hurtigere i Oracle?
Video: ELK: Elasticsearch, logstash, beats (Часть 1) / Java Tech Talk 2024, Kan
Anonim

Siden MASSEINDSAMLING henter posten ind BULK , bør INTO-udtrykket altid indeholde en samlingstypevariabel. Den største fordel ved at bruge MASSEINDSAMLING er det øger ydeevne ved at reducere interaktionen mellem database og PL/SQL-motor.

På samme måde kan du spørge, hvornår skal jeg bruge masseindsamling?

Når du er sikker på, at det returnerende resultat af din SELECT-sætning er lille, så skal du brug Bulk Collect klausul med Select-Into-sætning. Ellers din masseindsamling klausul vil gøre din Select-Into-sætning til et hukommelsessvinende monster. Følgelig vil det sænke ydeevnen af din database.

Og hvordan fungerer masseindsamling i Oracle? EN masseindsamling er en metode til at hente data, hvor PL/SQL-motoren fortæller SQL-motoren til indsamle mange rækker på én gang og placer dem i en kollektion . SQL-motoren henter alle rækkerne og indlæser dem i kollektion og skifter tilbage til PL/SQL-motoren. Alle rækkerne er hentet med kun 2 kontekstskift.

På denne måde, hvad er forskellen mellem bulk collect og bulk bind i Oracle?

Bulk afhentning : er en KLAUSUL. bruges til at hente posterne fra markøren. For alle : er en UDTALELSE. bruges til at udføre dml-operation af hentede poster. Kroppen af FOR ALLE sætning er en enkelt DML-sætning -- en INSERT, UPDATE eller DELETE. INTO, FETCH INTO og RETURNING INTO klausuler.

Hvad er masseindsamling og eventuelle begrænsninger i masseindsamling?

Ved brug af BULK COLLECT klausul i PL/SQL indebærer følgende restriktioner : Samlinger skal bruges som målvariabler anført i en MASSEINDSAMLING INTO klausul. 4. Sammensatte mål (såsom objekter) kan ikke bruges i det RETURNING INTO-klausul ellers rapporteres fejl for funktion med RETURNING-klausul.

Anbefalede: