Oracle - En markörs livscykel

Intro

En bra kunskap om livscykeln och funktionen av cursorer gör att du kan optimera applikationer som kör SQL-frågor.

Observera att : "En markör är ett förfarande som gör att du kan tilldela ett namn till ett" SELECT-meddelande "och mata in informationen i SQL-satsen"

Komma igång

Stegen i utförandet av en markör är:

  • Öppna en markör: Minneset är allokerat för markören i det privata minnet av serverprocessen (på serverns sida) som är associerad med sessionen (UGA User Global Area). Observera att ingen SQL-fråga är associerad med markören för nu.
  • Markörsbanan: En SQL-fråga är associerad med den. Representationen av rutten för begäran, inklusive dess genomförandeplan, som beskriver hur SQL-motorn kör SQL-satsen laddas i delad pool i bibliotekets cache . Strukturen i UGA är uppdaterad för att lagra en pekare till det område som är associerat med markören i bibliotekets cache.
  • Definition av utgångsvariabler: SQL-frågan returnerar data, så variablerna som är relaterade till måste definieras. Den här definitionen är också nödvändig för DELETE, INSERT och UPDATE-förfrågningar (med hjälp av RETURNING-klausulen).
  • Länka ingångsvariabler: Om SQL-frågan använder variabler måste de tillhandahållas. Ingen kontroll görs på länken. Om felaktiga värden överförs, utlöses ett runtime-fel.
  • Utförande av markören: I detta skede körs SQL. Beroende på databasmotorn kan fasen för det faktiska genomförandet skjutas upp vid tidpunkten för hämtningen.
  • Hämta markör (återhämtning av innehåll): Om SQL-frågan returnerar ett resultat återställs det. I allmänhet är det på detta stadium att behandling sker.
  • Stängning av markören : Markören associerad med resurserna vid UGA släpps automatiskt. Markören i bibliotekets cache raderas inte som svar på möjliga framtida användningar.
Tidigare Artikel Nästa Artikel

Bästa Tipsen