sql >> Database >  >> RDS >> Oracle

hoe een plan uit te leggen voor de volledige opgeslagen procedure?

Wat u genereert, wordt terecht een "uitvoeringsplan" genoemd. "Leg plan uit" is een commando dat wordt gebruikt om een ​​uitvoeringsplan te genereren en te bekijken, net zoals AUTOTRACE TRACEONLY in uw voorbeeld doet.

Een uitvoeringsplan is per definitie voor een enkele SQL-instructie. Een PL/SQL-blok heeft geen uitvoeringsplan. Als het een of meer SQL-instructies bevat, heeft elk daarvan een uitvoeringsplan.

Een optie is om de SQL-instructies handmatig uit de PL/SQL-code te extraheren en het proces te gebruiken dat u al hebt getoond.

Een andere optie is om SQL-tracering te activeren en vervolgens de procedure uit te voeren. Dit zal een traceringsbestand op de server produceren dat de uitvoeringsplannen bevat voor alle instructies die in de sessie worden uitgevoerd. De trace is in vrij ruwe vorm, dus het is over het algemeen het gemakkelijkst om hem te formatteren met Oracle's TKPROF-tool; er zijn ook verschillende tools van derden die deze traceerbestanden ook verwerken.



  1. Toegang tot 2021 voor Dummies Cheatsheet

  2. MySQL-draaitabel

  3. Hoe de opgeslagen procedure in Entity Framework Core aan te roepen met invoer- en uitvoerparameters met behulp van mysql

  4. Hoe Unicode() werkt in SQLite