sql >> Database teknologi >  >> RDS >> Oracle

Brug gv$session til at fortælle, om en forespørgsel hænger

I gv$session , event kolonne fortæller dig, hvilken ventehændelse din session venter på i øjeblikket. Hvis din session venter på en form for lås afholdt af en anden session, vil event vil fortælle dig det (f.eks. vil det være "enq:TX - row lock contention", hvis du står i kø og venter på at låse en række afholdt af en anden session) og blocking_instance og blocking_session vil blive udfyldt med instansen og sessions-id'et for indehaveren af ​​låsen. Du kan også se på seconds_in_wait (hvis wait_time=0 ) for at bestemme, hvor mange sekunder sessionen har brugt i den aktuelle ventehændelse. Det burde i det mindste fortælle dig, om din session i øjeblikket sidder "fast", men den fortæller dig ikke, om din forespørgsel nogensinde virkelig vil afslutte - hvis der er en dårlig plan, er det helt muligt, at du har "god" ventehændelser som venter på disk I/O, der angiver, at sessionen gør noget, men at forespørgslen aldrig rigtig bliver færdig.



  1. Hvordan kan jeg skifte min Rails-app fra Mysql til SQL Server i rails 4 i Windows

  2. Hvorfor er det sikkert at slå innodb_support_xa fra for enkelttrådede opdateringer i MySQL?

  3. mange-til-mange-forhold OrderBy - Laravel-forespørgselsbygger

  4. mysql rækkefølge efter antal ydeevne