{"id":170,"date":"2015-12-13T22:53:59","date_gmt":"2015-12-14T00:53:59","guid":{"rendered":"http:\/\/dbtimewizard.com.br\/blog\/?p=170"},"modified":"2019-10-10T23:09:49","modified_gmt":"2019-10-11T02:09:49","slug":"execution-plan-como-interpretar-os-valores-estatisticos-coletados-durante-a-execucao","status":"publish","type":"post","link":"http:\/\/dbtimewizard.com.br\/blog\/execution-plan-como-interpretar-os-valores-estatisticos-coletados-durante-a-execucao\/","title":{"rendered":"Execution Plan: Como interpretar os valores estat\u00edsticos coletados durante a execu\u00e7\u00e3o"},"content":{"rendered":"<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">No <strong><a href=\"http:\/\/dbtimewizard.com.br\/blog\/execution-plan-como-interpretar-os-valores-estatisticos-estimados\/\" target=\"_blank\">artigo anterior<\/a><\/strong> foram abordadas as estat\u00edsticas estimadas pelo Otimizador \u00a0para o plano de execu\u00e7\u00e3o, agora vamos tratar das estat\u00edsticas geradas ap\u00f3s a execu\u00e7\u00e3o do plano, \u00e9 nesse momento que temos condi\u00e7\u00f5es de avaliar se o Otimizador acertou em suas estimativas. A efic\u00e1cia\u00a0do plano de execu\u00e7\u00e3o esta diretamente relacionada com a precis\u00e3o da estimativa dessas estat\u00edsticas, ou seja, quanto melhor for a estimativa melhor ser\u00e1 o plano de execu\u00e7\u00e3o.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">As estat\u00edsticas geradas durante a execu\u00e7\u00e3o da instru\u00e7\u00e3o SQL s\u00e3o tamb\u00e9m chamadas pelo termo t\u00e9cnico de &#8220;<strong>Rowsource execution statistics<\/strong>&#8221; e suas informa\u00e7\u00f5es est\u00e3o dispon\u00edveis na vis\u00e3o <strong><a href=\"http:\/\/docs.oracle.com\/cd\/E11882_01\/server.112\/e40402\/dynviews_3057.htm#REFRN30252\" target=\"_blank\">V$SQL_PLAN_STATISTICS_ALL<\/a><\/strong>, nela podemos obter informa\u00e7\u00f5es do trabalho realizado por cada uma das opera\u00e7\u00f5es do plano de execu\u00e7\u00e3o, incluindo o n\u00famero de vezes que cada opera\u00e7\u00e3o foi chamada, numero de &#8220;buffers&#8221; acessados, se o acesso foi em &#8220;consistent mode&#8221; ou &#8220;current mode&#8221;, n\u00famero de leituras f\u00edsicas e l\u00f3gicas, total de tempo gasto por cada opera\u00e7\u00e3o e varias outras informa\u00e7\u00f5es sobre utiliza\u00e7\u00e3o &#8220;workarea&#8221;.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">A base utilizada para gerar os planos de execu\u00e7\u00e3o nesse artigo foi Oracle Database 11.2.0.4 e para gerar esse planos\u00a0utilizamos o pacote DBMS_XPLAN, se voc\u00ea tiver d\u00favidas quanto a utiliza\u00e7\u00e3o deste pacote consulte o artigo &#8220;<strong><a href=\"http:\/\/dbtimewizard.com.br\/blog\/dbms_xplan-voce-sabe-usar-esse-extraordinario-pacote\/\" target=\"_blank\">DBMS_XPLAN: voc\u00ea sabe usar esse extraordin\u00e1rio pacote?<\/a><\/strong>&#8220;<\/span><\/p>\n<h2 style=\"text-align: justify;\"><span style=\"font-size: 14pt;\">WORKAREA<\/span><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">As instru\u00e7\u00f5es SQL utilizadas nesse artigo foram escritas de forma a gerar planos de execu\u00e7\u00e3o que possibilitem a explica\u00e7\u00e3o das estat\u00edsticas geradas em tempo de execu\u00e7\u00e3o e n\u00e3o s\u00e3o bons exemplos de consultas em termos de desempenho. A seguir vamos executar uma instru\u00e7\u00e3o SQL simples sem ativar &#8220;Rowsource execution statistics&#8221; e verificar o que o pacote DBMS_XPLAN.DISPLAY_CURSOR() nos fornece de informa\u00e7\u00e3o:<\/span><\/p>\n<div class=\"codecolorer-container php default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;width:800px;height:520px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/>11<br \/>12<br \/>13<br \/>14<br \/>15<br \/>16<br \/>17<br \/>18<br \/>19<br \/>20<br \/>21<br \/>22<br \/>23<br \/>24<br \/>25<br \/>26<br \/>27<br \/>28<br \/>29<br \/>30<br \/>31<br \/>32<br \/>33<br \/>34<br \/>35<br \/>36<br \/>37<br \/>38<br \/>39<br \/>40<br \/>41<br \/>42<br \/>43<br \/>44<br \/>45<br \/>46<br \/>47<br \/>48<br \/>49<br \/>50<br \/>51<br \/>52<br \/>53<br \/>54<br \/>55<br \/>56<br \/>57<br \/>58<br \/>59<br \/>60<br \/>61<br \/>62<br \/>63<br \/>64<br \/>65<br \/>66<br \/>67<br \/>68<br \/>69<br \/>70<br \/>71<br \/>72<br \/>73<br \/>74<br \/>75<br \/>76<br \/>77<br \/>78<br \/>79<br \/>80<br \/>81<br \/>82<br \/><\/div><\/td><td><div class=\"php codecolorer\">dbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span>ALTER SESSION SET statistics_level<span class=\"sy0\">=<\/span>TYPICAL<span class=\"sy0\">;<\/span><br \/>\n<br \/>\nSession altered<span class=\"sy0\">.<\/span><br \/>\n<br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span><br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span><br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span>select <span class=\"coMULTI\">\/*+ UNNEST *\/<\/span> object_type<span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.php.net\/count\"><span class=\"kw3\">count<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/span> <span class=\"kw1\">as<\/span> sub_total<br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp; &nbsp;from <span class=\"br0\">&#40;<\/span>select owner<span class=\"sy0\">,<\/span> object_type<span class=\"sy0\">,<\/span> <a href=\"http:\/\/www.php.net\/count\"><span class=\"kw3\">count<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/span> <span class=\"kw1\">as<\/span> qtde from my_objects group by owner<span class=\"sy0\">,<\/span> object_type<span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; group by object_type<br \/>\n&nbsp; <span class=\"nu0\">5<\/span> &nbsp; order by <span class=\"nu0\">2<\/span> desc<span class=\"sy0\">;<\/span><br \/>\n<br \/>\nOBJECT_TYPE &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SUB_TOTAL<br \/>\n<span class=\"sy0\">-------------------<\/span> <span class=\"sy0\">----------<\/span><br \/>\nTABLE &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">125<\/span><br \/>\nINDEX &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">119<\/span><br \/>\nSEQUENCE &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">103<\/span><br \/>\nSYNONYM &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">93<\/span><br \/>\nPACKAGE &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">91<\/span><br \/>\n<span class=\"sy0\">...<\/span><br \/>\n<span class=\"sy0\">...<\/span><br \/>\nEDITION &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span><br \/>\nCLUSTER &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span><br \/>\nTABLE SUBPARTITION &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">1<\/span><br \/>\n<br \/>\n<span class=\"nu0\">46<\/span> rows selected<span class=\"sy0\">.<\/span><br \/>\n<br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span><br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span><br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span>column sql_id new_value m_sql_id<br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span>column child_number new_value m_child_no<br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span><br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span><br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span>SELECT sql_id<span class=\"sy0\">,<\/span> child_number<br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp;FROM v<span class=\"re0\">$sql<\/span><br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp; WHERE sql_text LIKE <span class=\"st_h\">'%UNNEST%'<\/span><br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; &nbsp; and sql_text LIKE <span class=\"st_h\">'%my_objects%'<\/span><br \/>\n&nbsp; <span class=\"nu0\">5<\/span> &nbsp; &nbsp; AND sql_text NOT LIKE <span class=\"st_h\">'%v$sql%'<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nSQL_ID &nbsp; &nbsp; &nbsp; &nbsp;CHILD_NUMBER<br \/>\n<span class=\"sy0\">-------------<\/span> <span class=\"sy0\">------------<\/span><br \/>\nbpv0k45r54w9y &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">0<\/span><br \/>\nbpv0k45r54w9y &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span><br \/>\n<br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span><br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span>SELECT <span class=\"sy0\">*<\/span><br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp;FROM TABLE <span class=\"br0\">&#40;<\/span>dbms_xplan<span class=\"sy0\">.<\/span>display_cursor <span class=\"br0\">&#40;<\/span><span class=\"st_h\">'&amp;m_sql_id'<\/span><span class=\"sy0\">,&amp;<\/span>m_child_no<span class=\"sy0\">,<\/span><span class=\"st_h\">'allstats last'<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\nold &nbsp; <span class=\"nu0\">2<\/span><span class=\"sy0\">:<\/span> &nbsp; FROM TABLE <span class=\"br0\">&#40;<\/span>dbms_xplan<span class=\"sy0\">.<\/span>display_cursor <span class=\"br0\">&#40;<\/span><span class=\"st_h\">'&amp;m_sql_id'<\/span><span class=\"sy0\">,&amp;<\/span>m_child_no<span class=\"sy0\">,<\/span><span class=\"st_h\">'allstats last'<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<span class=\"kw2\">new<\/span> &nbsp; <span class=\"nu0\">2<\/span><span class=\"sy0\">:<\/span> &nbsp; FROM TABLE <span class=\"br0\">&#40;<\/span>dbms_xplan<span class=\"sy0\">.<\/span>display_cursor <span class=\"br0\">&#40;<\/span><span class=\"st_h\">'bpv0k45r54w9y'<\/span><span class=\"sy0\">,<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">1<\/span><span class=\"sy0\">,<\/span><span class=\"st_h\">'allstats last'<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\nPLAN_TABLE_OUTPUT<br \/>\n<span class=\"sy0\">----------------------------------------------------------------------------------------------------------------<\/span><br \/>\nSQL_ID &nbsp;bpv0k45r54w9y<span class=\"sy0\">,<\/span> child number <span class=\"nu0\">1<\/span><br \/>\n<span class=\"sy0\">-------------------------------------<\/span><br \/>\nselect <span class=\"coMULTI\">\/*+ UNNEST *\/<\/span> object_type<span class=\"sy0\">,<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/count\"><span class=\"kw3\">count<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"sy0\">:<\/span><span class=\"st0\">&quot;SYS_B_0&quot;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"kw1\">as<\/span> sub_total<br \/>\n&nbsp; from <span class=\"br0\">&#40;<\/span>select owner<span class=\"sy0\">,<\/span> object_type<span class=\"sy0\">,<\/span> <a href=\"http:\/\/www.php.net\/count\"><span class=\"kw3\">count<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"sy0\">:<\/span><span class=\"st0\">&quot;SYS_B_1&quot;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"kw1\">as<\/span> qtde from<br \/>\nmy_objects group by owner<span class=\"sy0\">,<\/span> object_type<span class=\"br0\">&#41;<\/span> &nbsp;group by object_type &nbsp;order by<br \/>\n<span class=\"sy0\">:<\/span><span class=\"st0\">&quot;SYS_B_2&quot;<\/span> desc<br \/>\n<br \/>\nPlan <a href=\"http:\/\/www.php.net\/hash\"><span class=\"kw3\">hash<\/span><\/a> value<span class=\"sy0\">:<\/span> <span class=\"nu0\">2143035820<\/span><br \/>\n<br \/>\n<span class=\"sy0\">--------------------------------------------------------------------------------<\/span><br \/>\n<span class=\"sy0\">|<\/span> Id &nbsp;<span class=\"sy0\">|<\/span> Operation &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> Name &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> E<span class=\"sy0\">-<\/span>Rows <span class=\"sy0\">|<\/span> &nbsp;OMem <span class=\"sy0\">|<\/span> &nbsp;1Mem <span class=\"sy0\">|<\/span> Used<span class=\"sy0\">-<\/span>Mem <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">--------------------------------------------------------------------------------<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">0<\/span> <span class=\"sy0\">|<\/span> SELECT STATEMENT &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp;<a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> ORDER BY &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">46<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">2048<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">2048<\/span> <span class=\"sy0\">|<\/span> <span class=\"nu0\">2048<\/span> &nbsp;<span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">2<\/span> <span class=\"sy0\">|<\/span> &nbsp; <a href=\"http:\/\/www.php.net\/hash\"><span class=\"kw3\">HASH<\/span><\/a> GROUP BY &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">46<\/span> <span class=\"sy0\">|<\/span> &nbsp;1200K<span class=\"sy0\">|<\/span> &nbsp;1200K<span class=\"sy0\">|<\/span> 1335K <span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">3<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;VIEW &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">5920<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">4<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <a href=\"http:\/\/www.php.net\/hash\"><span class=\"kw3\">HASH<\/span><\/a> GROUP BY &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">5920<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;10M<span class=\"sy0\">|<\/span> &nbsp;2855K<span class=\"sy0\">|<\/span> 2610K <span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">5<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;TABLE ACCESS FULL<span class=\"sy0\">|<\/span> MY_OBJECTS <span class=\"sy0\">|<\/span> &nbsp; &nbsp;119K<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">--------------------------------------------------------------------------------<\/span><br \/>\n<br \/>\nNote<br \/>\n<span class=\"sy0\">-----<\/span><br \/>\n&nbsp; &nbsp;<span class=\"sy0\">-<\/span> Warning<span class=\"sy0\">:<\/span> basic plan statistics not available<span class=\"sy0\">.<\/span> These are only collected when<span class=\"sy0\">:<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">*<\/span> hint <span class=\"st_h\">'gather_plan_statistics'<\/span> is used <span class=\"kw1\">for<\/span> the statement or<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">*<\/span> parameter <span class=\"st_h\">'statistics_level'<\/span> is set to <span class=\"st_h\">'ALL'<\/span><span class=\"sy0\">,<\/span> at session or <a href=\"http:\/\/www.php.net\/system\"><span class=\"kw3\">system<\/span><\/a> level<br \/>\n<br \/>\n<br \/>\n<span class=\"nu0\">26<\/span> rows selected<span class=\"sy0\">.<\/span><br \/>\n<br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">No inicio do processo acima, o par\u00e2metro &#8220;statistics_level&#8221; foi definido como &#8220;TYPICAL&#8221;, nesta situa\u00e7\u00e3o a coleta de estat\u00edsticas &#8220;Rowsource execution&#8221; esta desativada e o plano de execu\u00e7\u00e3o vai omitir varias informa\u00e7\u00f5es estat\u00edsticas importantes, alem disso se voc\u00ea verificar na se\u00e7\u00e3o &#8220;Note&#8221; logo abaixo do plano de execu\u00e7\u00e3o existe a informa\u00e7\u00e3o de que para obter essas informa\u00e7\u00f5es estat\u00edsticas temos que utilizar o &#8220;hint gather_plan_statistics&#8221; ou definir o par\u00e2metro &#8216;statistics_level&#8217; como &#8216;ALL&#8217;.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">O par\u00e2metro &#8220;LAST&#8221; utilizado na fun\u00e7\u00e3o &#8220;DISPLAY_CURSOR&#8221; do pacote DBMS_XPLAN determina que somente as estat\u00edsticas da ultima execu\u00e7\u00e3o ser\u00e3o exibidas. Nesta simula\u00e7\u00e3o o plano de execu\u00e7\u00e3o mostra tr\u00eas colunas estat\u00edsticas relativas a &#8220;WORKAREA&#8221; ou \u00e1rea de trabalho:<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\"><strong>OMem<\/strong>: Quantidade de espa\u00e7o\u00a0na memoria que o Oracle estima que ser\u00e1 necess\u00e1ria para executar a opera\u00e7\u00e3o.<\/span><br \/>\n<span style=\"font-size: 12pt;\"><strong>1Mem<\/strong>: Valor de memoria acima do qual o Oracle ainda consegue realizar a opera\u00e7\u00e3o com &#8220;ONE-PASS WORKAREA&#8221;.<\/span><br \/>\n<span style=\"font-size: 12pt;\"><strong>Used-Mem<\/strong>: Memoria que foi utilizada na ultima execu\u00e7\u00e3o.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Caso voc\u00ea deseje saber como foi a utiliza\u00e7\u00e3o da memoria de varias execu\u00e7\u00f5es do mesma instru\u00e7\u00e3o SQL, podemos executar a fun\u00e7\u00e3o DISPLAY_CURSOR sem a op\u00e7\u00e3o &#8220;LAST&#8221;.<\/span><\/p>\n<div class=\"codecolorer-container php default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;width:800px;height:520px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/>11<br \/>12<br \/>13<br \/>14<br \/>15<br \/>16<br \/>17<br \/>18<br \/>19<br \/>20<br \/>21<br \/>22<br \/>23<br \/>24<br \/>25<br \/>26<br \/>27<br \/>28<br \/>29<br \/>30<br \/>31<br \/>32<br \/>33<br \/>34<br \/>35<br \/>36<br \/>37<br \/><\/div><\/td><td><div class=\"php codecolorer\">dbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span>SELECT <span class=\"sy0\">*<\/span><br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp;FROM TABLE <span class=\"br0\">&#40;<\/span>dbms_xplan<span class=\"sy0\">.<\/span>display_cursor <span class=\"br0\">&#40;<\/span><span class=\"st_h\">'&amp;m_sql_id'<\/span><span class=\"sy0\">,&amp;<\/span>m_child_no<span class=\"sy0\">,<\/span><span class=\"st_h\">'allstats'<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\nold &nbsp; <span class=\"nu0\">2<\/span><span class=\"sy0\">:<\/span> &nbsp; FROM TABLE <span class=\"br0\">&#40;<\/span>dbms_xplan<span class=\"sy0\">.<\/span>display_cursor <span class=\"br0\">&#40;<\/span><span class=\"st_h\">'&amp;m_sql_id'<\/span><span class=\"sy0\">,&amp;<\/span>m_child_no<span class=\"sy0\">,<\/span><span class=\"st_h\">'allstats'<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<span class=\"kw2\">new<\/span> &nbsp; <span class=\"nu0\">2<\/span><span class=\"sy0\">:<\/span> &nbsp; FROM TABLE <span class=\"br0\">&#40;<\/span>dbms_xplan<span class=\"sy0\">.<\/span>display_cursor <span class=\"br0\">&#40;<\/span><span class=\"st_h\">'bpv0k45r54w9y'<\/span><span class=\"sy0\">,<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span><span class=\"st_h\">'allstats'<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\nPLAN_TABLE_OUTPUT<br \/>\n<span class=\"sy0\">----------------------------------------------------------------------------------------------<\/span><br \/>\nSQL_ID &nbsp;bpv0k45r54w9y<span class=\"sy0\">,<\/span> child number <span class=\"nu0\">0<\/span><br \/>\n<span class=\"sy0\">-------------------------------------<\/span><br \/>\nselect <span class=\"coMULTI\">\/*+ UNNEST *\/<\/span> object_type<span class=\"sy0\">,<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/count\"><span class=\"kw3\">count<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"sy0\">:<\/span><span class=\"st0\">&quot;SYS_B_0&quot;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"kw1\">as<\/span> sub_total<br \/>\n&nbsp; from <span class=\"br0\">&#40;<\/span>select owner<span class=\"sy0\">,<\/span> object_type<span class=\"sy0\">,<\/span> <a href=\"http:\/\/www.php.net\/count\"><span class=\"kw3\">count<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"sy0\">:<\/span><span class=\"st0\">&quot;SYS_B_1&quot;<\/span><span class=\"br0\">&#41;<\/span> <span class=\"kw1\">as<\/span> qtde from<br \/>\nmy_objects group by owner<span class=\"sy0\">,<\/span> object_type<span class=\"br0\">&#41;<\/span> &nbsp;group by object_type &nbsp;order by<br \/>\n<span class=\"sy0\">:<\/span><span class=\"st0\">&quot;SYS_B_2&quot;<\/span> desc<br \/>\n<br \/>\nPlan <a href=\"http:\/\/www.php.net\/hash\"><span class=\"kw3\">hash<\/span><\/a> value<span class=\"sy0\">:<\/span> <span class=\"nu0\">2143035820<\/span><br \/>\n<br \/>\n<span class=\"sy0\">--------------------------------------------------------------------------------<\/span><br \/>\n<span class=\"sy0\">|<\/span> Id &nbsp;<span class=\"sy0\">|<\/span> Operation &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> Name &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> E<span class=\"sy0\">-<\/span>Rows <span class=\"sy0\">|<\/span> &nbsp;OMem <span class=\"sy0\">|<\/span> &nbsp;1Mem <span class=\"sy0\">|<\/span> &nbsp;O<span class=\"sy0\">\/<\/span><span class=\"nu0\">1<\/span><span class=\"sy0\">\/<\/span>M &nbsp; <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">--------------------------------------------------------------------------------<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">0<\/span> <span class=\"sy0\">|<\/span> SELECT STATEMENT &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp;<a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> ORDER BY &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">46<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">2048<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">2048<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">3<\/span><span class=\"sy0\">\/<\/span><span class=\"nu0\">0<\/span><span class=\"sy0\">\/<\/span><span class=\"nu0\">0<\/span><span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">2<\/span> <span class=\"sy0\">|<\/span> &nbsp; <a href=\"http:\/\/www.php.net\/hash\"><span class=\"kw3\">HASH<\/span><\/a> GROUP BY &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">46<\/span> <span class=\"sy0\">|<\/span> &nbsp;1200K<span class=\"sy0\">|<\/span> &nbsp;1200K<span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">3<\/span><span class=\"sy0\">\/<\/span><span class=\"nu0\">0<\/span><span class=\"sy0\">\/<\/span><span class=\"nu0\">0<\/span><span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">3<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;VIEW &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">5920<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">4<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <a href=\"http:\/\/www.php.net\/hash\"><span class=\"kw3\">HASH<\/span><\/a> GROUP BY &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">5920<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;10M<span class=\"sy0\">|<\/span> &nbsp;2855K<span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">3<\/span><span class=\"sy0\">\/<\/span><span class=\"nu0\">0<\/span><span class=\"sy0\">\/<\/span><span class=\"nu0\">0<\/span><span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">5<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;TABLE ACCESS FULL<span class=\"sy0\">|<\/span> MY_OBJECTS <span class=\"sy0\">|<\/span> &nbsp; &nbsp;119K<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">--------------------------------------------------------------------------------<\/span><br \/>\n<br \/>\nNote<br \/>\n<span class=\"sy0\">-----<\/span><br \/>\n&nbsp; &nbsp;<span class=\"sy0\">-<\/span> Warning<span class=\"sy0\">:<\/span> basic plan statistics not available<span class=\"sy0\">.<\/span> These are only collected when<span class=\"sy0\">:<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">*<\/span> hint <span class=\"st_h\">'gather_plan_statistics'<\/span> is used <span class=\"kw1\">for<\/span> the statement or<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">*<\/span> parameter <span class=\"st_h\">'statistics_level'<\/span> is set to <span class=\"st_h\">'ALL'<\/span><span class=\"sy0\">,<\/span> at session or <a href=\"http:\/\/www.php.net\/system\"><span class=\"kw3\">system<\/span><\/a> level<br \/>\n<br \/>\n<br \/>\n<span class=\"nu0\">26<\/span> rows selected<span class=\"sy0\">.<\/span><br \/>\n<br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Na simula\u00e7\u00e3o acima podemos observar que a coluna &#8220;Used-Mem&#8221; foi substitu\u00edda por &#8220;O\/1\/M&#8221;, essa coluna mostra as estat\u00edsticas de tr\u00eas situa\u00e7\u00f5es na sequ\u00eancia, a primeira representa o numero de vezes que o Oracle realizou a opera\u00e7\u00e3o na memoria, no caso acima foram 3 vezes, a segunda representa o numero de execu\u00e7\u00f5es com &#8220;ONE-PASS&#8221;, ou seja, n\u00e3o foi poss\u00edvel realizar toda a opera\u00e7\u00e3o na mem\u00f3ria que para a nossa simula\u00e7\u00e3o foi zero e a terceira representa o numero de execu\u00e7\u00f5es com &#8220;MULTI-PASS&#8221;, quando esta situa\u00e7\u00e3o ocorrer o tempo de reposta da instru\u00e7\u00e3o SQL fica muito ruim, tamb\u00e9m neste caso a nossa simula\u00e7\u00e3o indica que n\u00e3o houve ocorr\u00eancia.<\/span><\/p>\n<h2 style=\"text-align: justify;\"><span style=\"font-size: 14pt;\">EXECUTION STATISTICS<\/span><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">A seguir vamos analisar um plano de execu\u00e7\u00e3o onde as &#8220;Rowsource execution statistics&#8221; v\u00e3o ser ativadas utilizando o par\u00e2metro &#8220;statistics_level&#8221; definido a n\u00edvel de sess\u00e3o como &#8220;ALL&#8221;. \u00c9 importante lembrar que n\u00e3o \u00e9 recomendado definir esse par\u00e2metro como &#8220;ALL&#8221; a n\u00edvel de sistema, pois isso vai causar um carga extra no banco de dados e degradar o tempo de resposta de todas as instru\u00e7\u00f5es SQL desse banco. Outra observa\u00e7\u00e3o importante \u00e9 que se for utilizado o &#8220;hint gather_plan_statistics&#8221; para ativar as &#8220;Rowsource execution statistics&#8221; a coluna &#8220;A-TIME&#8221; que representa o tempo gasto nas opera\u00e7\u00f5es apresentar\u00e1 valores n\u00e3o confi\u00e1veis.<\/span><\/p>\n<p>&nbsp;<\/p>\n<div class=\"codecolorer-container php default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;width:800px;height:520px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/>11<br \/>12<br \/>13<br \/>14<br \/>15<br \/>16<br \/>17<br \/>18<br \/>19<br \/>20<br \/>21<br \/>22<br \/>23<br \/>24<br \/>25<br \/>26<br \/>27<br \/>28<br \/>29<br \/>30<br \/>31<br \/>32<br \/>33<br \/>34<br \/>35<br \/>36<br \/>37<br \/>38<br \/>39<br \/>40<br \/>41<br \/>42<br \/>43<br \/>44<br \/>45<br \/>46<br \/>47<br \/>48<br \/>49<br \/>50<br \/>51<br \/>52<br \/>53<br \/>54<br \/>55<br \/>56<br \/>57<br \/>58<br \/>59<br \/>60<br \/>61<br \/>62<br \/>63<br \/>64<br \/>65<br \/>66<br \/>67<br \/>68<br \/>69<br \/>70<br \/>71<br \/>72<br \/>73<br \/>74<br \/>75<br \/>76<br \/>77<br \/>78<br \/>79<br \/>80<br \/>81<br \/>82<br \/>83<br \/>84<br \/>85<br \/>86<br \/>87<br \/>88<br \/>89<br \/>90<br \/>91<br \/>92<br \/>93<br \/>94<br \/>95<br \/>96<br \/>97<br \/><\/div><\/td><td><div class=\"php codecolorer\">dbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span>ALTER SESSION SET statistics_level<span class=\"sy0\">=<\/span>ALL<span class=\"sy0\">;<\/span><br \/>\n<br \/>\nSession altered<span class=\"sy0\">.<\/span><br \/>\n<br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span><br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span><br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span>WITH OBJ <span class=\"kw1\">AS<\/span> <span class=\"br0\">&#40;<\/span><br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp; select owner<span class=\"sy0\">,<\/span> object_type<span class=\"sy0\">,<\/span> object_name<span class=\"sy0\">,<\/span> status from my_objects order by <span class=\"nu0\">1<\/span><span class=\"sy0\">,<\/span><span class=\"nu0\">2<\/span><span class=\"sy0\">,<\/span><span class=\"nu0\">3<\/span><br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp; &nbsp; <span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp;select <span class=\"coMULTI\">\/*+ USE_NL(o t) *\/<\/span> t<span class=\"sy0\">.<\/span>owner<span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">5<\/span> &nbsp; &nbsp; &nbsp; &nbsp; o<span class=\"sy0\">.<\/span>object_type<span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">6<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.php.net\/count\"><span class=\"kw3\">count<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/span> nunber_of_obj<br \/>\n&nbsp; <span class=\"nu0\">7<\/span> &nbsp; &nbsp;from OBJ o<span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">8<\/span> &nbsp; &nbsp; &nbsp; &nbsp; MY_TABLES t<br \/>\n&nbsp; <span class=\"nu0\">9<\/span> &nbsp; where t<span class=\"sy0\">.<\/span>owner <span class=\"sy0\">=<\/span> o<span class=\"sy0\">.<\/span>owner<br \/>\n&nbsp;<span class=\"nu0\">10<\/span> &nbsp; &nbsp; and t<span class=\"sy0\">.<\/span>owner in <span class=\"br0\">&#40;<\/span><span class=\"st_h\">'XDB'<\/span><span class=\"sy0\">,<\/span><span class=\"st_h\">'SYSMAN'<\/span><span class=\"sy0\">,<\/span><span class=\"st_h\">'SYS'<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp;<span class=\"nu0\">11<\/span> &nbsp; group by t<span class=\"sy0\">.<\/span>owner<span class=\"sy0\">,<\/span> o<span class=\"sy0\">.<\/span>object_type<br \/>\n&nbsp;<span class=\"nu0\">12<\/span> &nbsp; order by <span class=\"nu0\">1<\/span><span class=\"sy0\">,<\/span><span class=\"nu0\">2<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nOWNER &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;OBJECT_TYPE &nbsp; &nbsp; &nbsp; &nbsp; NUNBER_OF_OBJ<br \/>\n<span class=\"sy0\">------------------------------<\/span> <span class=\"sy0\">-------------------<\/span> <span class=\"sy0\">-------------<\/span><br \/>\nSYS &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CLUSTER &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">10220<\/span><br \/>\nSYS &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CONSUMER GROUP &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">25550<\/span><br \/>\nSYS &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CONTEXT &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">7154<\/span><br \/>\n<span class=\"sy0\">...<\/span><br \/>\n<br \/>\nSYSMAN &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; EVALUATION CONTEXT &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">1456<\/span><br \/>\nSYSMAN &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"kw2\">FUNCTION<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">8736<\/span><br \/>\nSYSMAN &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; INDEX &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">748384<\/span><br \/>\n<span class=\"sy0\">...<\/span><br \/>\n<br \/>\nXDB &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"kw2\">FUNCTION<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">192<\/span><br \/>\nXDB &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;INDEX &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">14464<\/span><br \/>\nXDB &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;INDEXTYPE &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">64<\/span><br \/>\n<span class=\"sy0\">...<\/span><br \/>\n<br \/>\n<span class=\"nu0\">73<\/span> rows selected<span class=\"sy0\">.<\/span><br \/>\n<br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span><br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span><br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span><br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span>column sql_id new_value m_sql_id<br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span>column child_number new_value m_child_no<br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span><br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span><br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span>SELECT sql_id<span class=\"sy0\">,<\/span> child_number<br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp;FROM v<span class=\"re0\">$sql<\/span><br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp; WHERE sql_text LIKE <span class=\"st_h\">'%USE_NL(o t)%'<\/span><br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; &nbsp; AND sql_text NOT LIKE <span class=\"st_h\">'%v$sql%'<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nSQL_ID &nbsp; &nbsp; &nbsp; &nbsp;CHILD_NUMBER<br \/>\n<span class=\"sy0\">-------------<\/span> <span class=\"sy0\">------------<\/span><br \/>\ncaj292vwr7n01 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">0<\/span><br \/>\ndz461gr7wmqh7 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">0<\/span><br \/>\n<br \/>\n<span class=\"nu0\">2<\/span> rows selected<span class=\"sy0\">.<\/span><br \/>\n<br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span><br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span>SELECT <span class=\"sy0\">*<\/span><br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp;FROM TABLE <span class=\"br0\">&#40;<\/span>dbms_xplan<span class=\"sy0\">.<\/span>display_cursor <span class=\"br0\">&#40;<\/span><span class=\"st_h\">'&amp;m_sql_id'<\/span><span class=\"sy0\">,&amp;<\/span>m_child_no<span class=\"sy0\">,<\/span><span class=\"st_h\">'allstats last'<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nPLAN_TABLE_OUTPUT<br \/>\n<span class=\"sy0\">----------------------------------------------------------------------------------------------------------------------------------------------------------------<\/span><br \/>\nSQL_ID &nbsp;dz461gr7wmqh7<span class=\"sy0\">,<\/span> child number <span class=\"nu0\">0<\/span><br \/>\n<span class=\"sy0\">-------------------------------------<\/span><br \/>\nWITH OBJ <span class=\"kw1\">AS<\/span> <span class=\"br0\">&#40;<\/span> &nbsp; &nbsp;select owner<span class=\"sy0\">,<\/span> object_type<span class=\"sy0\">,<\/span> object_name<span class=\"sy0\">,<\/span> status from<br \/>\nmy_objects order by <span class=\"sy0\">:<\/span><span class=\"st0\">&quot;SYS_B_0&quot;<\/span><span class=\"sy0\">,:<\/span><span class=\"st0\">&quot;SYS_B_1&quot;<\/span><span class=\"sy0\">,:<\/span><span class=\"st0\">&quot;SYS_B_2&quot;<\/span> &nbsp; &nbsp;<span class=\"br0\">&#41;<\/span> select <span class=\"coMULTI\">\/*+<br \/>\nUSE_NL(o t) *\/<\/span> t<span class=\"sy0\">.<\/span>owner<span class=\"sy0\">,<\/span> &nbsp; &nbsp; &nbsp; &nbsp;o<span class=\"sy0\">.<\/span>object_type<span class=\"sy0\">,<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/count\"><span class=\"kw3\">count<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"sy0\">:<\/span><span class=\"st0\">&quot;SYS_B_3&quot;<\/span><span class=\"br0\">&#41;<\/span><br \/>\nnunber_of_obj &nbsp; from OBJ o<span class=\"sy0\">,<\/span> &nbsp; &nbsp; &nbsp; &nbsp;MY_TABLES t &nbsp;where t<span class=\"sy0\">.<\/span>owner <span class=\"sy0\">=<\/span> o<span class=\"sy0\">.<\/span>owner<br \/>\n&nbsp; &nbsp;and t<span class=\"sy0\">.<\/span>owner in <span class=\"br0\">&#40;<\/span><span class=\"sy0\">:<\/span><span class=\"st0\">&quot;SYS_B_4&quot;<\/span><span class=\"sy0\">,:<\/span><span class=\"st0\">&quot;SYS_B_5&quot;<\/span><span class=\"sy0\">,:<\/span><span class=\"st0\">&quot;SYS_B_6&quot;<\/span><span class=\"br0\">&#41;<\/span> &nbsp;group by t<span class=\"sy0\">.<\/span>owner<span class=\"sy0\">,<\/span><br \/>\no<span class=\"sy0\">.<\/span>object_type &nbsp;order by <span class=\"sy0\">:<\/span><span class=\"st0\">&quot;SYS_B_7&quot;<\/span><span class=\"sy0\">,:<\/span><span class=\"st0\">&quot;SYS_B_8&quot;<\/span><br \/>\n<br \/>\nPlan <a href=\"http:\/\/www.php.net\/hash\"><span class=\"kw3\">hash<\/span><\/a> value<span class=\"sy0\">:<\/span> <span class=\"nu0\">1844763738<\/span><br \/>\n<br \/>\n<span class=\"sy0\">--------------------------------------------------------------------------------------------------------------------------------------------------------<\/span><br \/>\n<span class=\"sy0\">|<\/span> Id &nbsp;<span class=\"sy0\">|<\/span> Operation &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> Name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> Starts <span class=\"sy0\">|<\/span> E<span class=\"sy0\">-<\/span>Rows <span class=\"sy0\">|<\/span> A<span class=\"sy0\">-<\/span>Rows <span class=\"sy0\">|<\/span> &nbsp; A<span class=\"sy0\">-<\/span><a href=\"http:\/\/www.php.net\/time\"><span class=\"kw3\">Time<\/span><\/a> &nbsp; <span class=\"sy0\">|<\/span> Buffers <span class=\"sy0\">|<\/span> Reads &nbsp;<span class=\"sy0\">|<\/span> Writes <span class=\"sy0\">|<\/span> &nbsp;OMem <span class=\"sy0\">|<\/span> &nbsp;1Mem <span class=\"sy0\">|<\/span> Used<span class=\"sy0\">-<\/span>Mem <span class=\"sy0\">|<\/span> Used<span class=\"sy0\">-<\/span>Tmp<span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">--------------------------------------------------------------------------------------------------------------------------------------------------------<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">0<\/span> <span class=\"sy0\">|<\/span> SELECT STATEMENT &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">73<\/span> <span class=\"sy0\">|<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu19\">22.05<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; 246K<span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">885<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">873<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp;<a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> GROUP BY NOSORT <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">98<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">73<\/span> <span class=\"sy0\">|<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu19\">22.05<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; 246K<span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">885<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">873<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">2<\/span> <span class=\"sy0\">|<\/span> &nbsp; NESTED LOOPS &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">33945<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; 41M<span class=\"sy0\">|<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu19\">14.45<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; 246K<span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">885<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">873<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">3<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;VIEW &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">15474<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">42603<\/span> <span class=\"sy0\">|<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu19\">02.24<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">1802<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">873<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">873<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">4<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> ORDER BY &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">15474<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">42603<\/span> <span class=\"sy0\">|<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu19\">02.23<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">1802<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">873<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">873<\/span> <span class=\"sy0\">|<\/span> &nbsp;2772K<span class=\"sy0\">|<\/span> &nbsp; 749K<span class=\"sy0\">|<\/span><span class=\"nu0\">67584<\/span> &nbsp;<span class=\"br0\">&#40;<\/span><span class=\"nu0\">25<\/span><span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">3072<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|*<\/span> &nbsp;<span class=\"nu0\">5<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;TABLE ACCESS FULL<span class=\"sy0\">|<\/span> MY_OBJECTS &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">15474<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">42603<\/span> <span class=\"sy0\">|<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu19\">00.03<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">1701<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">0<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">0<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|*<\/span> &nbsp;<span class=\"nu0\">6<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;INDEX <a href=\"http:\/\/www.php.net\/range\"><span class=\"kw3\">RANGE<\/span><\/a> SCAN &nbsp; <span class=\"sy0\">|<\/span> MY_TABLES_IDX <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">42603<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">2<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; 41M<span class=\"sy0\">|<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu19\">07.76<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; 245K<span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">12<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">0<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">--------------------------------------------------------------------------------------------------------------------------------------------------------<\/span><br \/>\n<br \/>\nPredicate Information <span class=\"br0\">&#40;<\/span>identified by operation id<span class=\"br0\">&#41;<\/span><span class=\"sy0\">:<\/span><br \/>\n<span class=\"sy0\">---------------------------------------------------<\/span><br \/>\n<br \/>\n&nbsp; &nbsp;<span class=\"nu0\">5<\/span> <span class=\"sy0\">-<\/span> filter<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#40;<\/span>INTERNAL_FUNCTION<span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;OWNER&quot;<\/span><span class=\"br0\">&#41;<\/span> AND INTERNAL_FUNCTION<span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;OWNER&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp;<span class=\"nu0\">6<\/span> <span class=\"sy0\">-<\/span> access<span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;T&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;OWNER&quot;<\/span><span class=\"sy0\">=<\/span><span class=\"st0\">&quot;O&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;OWNER&quot;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;filter<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;T&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;OWNER&quot;<\/span><span class=\"sy0\">=:<\/span>SYS_B_4 OR <span class=\"st0\">&quot;T&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;OWNER&quot;<\/span><span class=\"sy0\">=:<\/span>SYS_B_5 OR <span class=\"st0\">&quot;T&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;OWNER&quot;<\/span><span class=\"sy0\">=:<\/span>SYS_B_6<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\n<br \/>\n<span class=\"nu0\">30<\/span> rows selected<span class=\"sy0\">.<\/span><br \/>\n<br \/>\ndbauser<span class=\"sy0\">@<\/span>LAB11 <span class=\"sy0\">&gt;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Analisando o plano acima verificamos que foram inclu\u00eddas varias colunas estat\u00edsticas, a seguir vamos descrever o que representa cada uma delas:<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\"><strong>Starts:<\/strong> N\u00famero de vezes que a opera\u00e7\u00e3o dessa linha foi executada.<\/span><br \/>\n<span style=\"font-size: 12pt;\"><strong>E-rows:<\/strong> Estimativa de registros que ser\u00e3o entregues a opera\u00e7\u00e3o pai por uma execu\u00e7\u00e3o da opera\u00e7\u00e3o dessa linha.<\/span><br \/>\n<span style=\"font-size: 12pt;\"><strong>A-rows:<\/strong> N\u00famero acumulado de registros que ser\u00e3o entregues a opera\u00e7\u00e3o pai de todas as execu\u00e7\u00f5es da opera\u00e7\u00e3o dessa linha.<\/span><br \/>\n<span style=\"font-size: 12pt;\"><strong>A-time:<\/strong> Tempo gasto na execu\u00e7\u00e3o da opera\u00e7\u00e3o dessa linha incluindo os tempos da opera\u00e7\u00f5es descendentes.<\/span><br \/>\n<span style=\"font-size: 12pt;\"><strong>Buffers:\u00a0<\/strong>N\u00famero de &#8220;buffers&#8221; acessados na execu\u00e7\u00e3o da opera\u00e7\u00e3o dessa linha incluindo seus descendentes.<\/span><br \/>\n<span style=\"font-size: 12pt;\"><strong>Reads:<\/strong> N\u00famero de blocos lidos do disco na execu\u00e7\u00e3o da opera\u00e7\u00e3o dessa linha inclu\u00eddo seus descendentes.<\/span><br \/>\n<span style=\"font-size: 12pt;\"><strong>Writes:<\/strong> N\u00famero de blocos gravados em disco na execu\u00e7\u00e3o da opera\u00e7\u00e3o dessa linha incluindo seus descendentes.<\/span><br \/>\n<span style=\"font-size: 12pt;\"><strong>Used-Tmp:\u00a0<\/strong>Quantidade de espa\u00e7o utilizando na tablespace tempor\u00e1ria em KB para execu\u00e7\u00e3o da opera\u00e7\u00e3o dessa linha.<\/span><\/p>\n<h2 style=\"text-align: justify;\"><span style=\"font-size: 14pt;\">LEITURA DO PLANO DE EXECU\u00c7\u00c3O<\/span><\/h2>\n<div class=\"codecolorer-container php default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;width:800px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/>11<br \/>12<br \/>13<br \/><\/div><\/td><td><div class=\"php codecolorer\">Plan <a href=\"http:\/\/www.php.net\/hash\"><span class=\"kw3\">hash<\/span><\/a> value<span class=\"sy0\">:<\/span> <span class=\"nu0\">1844763738<\/span><br \/>\n<br \/>\n<span class=\"sy0\">--------------------------------------------------------------------------------------------------------------------------------------------------------<\/span><br \/>\n<span class=\"sy0\">|<\/span> Id &nbsp;<span class=\"sy0\">|<\/span> Operation &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> Name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> Starts <span class=\"sy0\">|<\/span> E<span class=\"sy0\">-<\/span>Rows <span class=\"sy0\">|<\/span> A<span class=\"sy0\">-<\/span>Rows <span class=\"sy0\">|<\/span> &nbsp; A<span class=\"sy0\">-<\/span><a href=\"http:\/\/www.php.net\/time\"><span class=\"kw3\">Time<\/span><\/a> &nbsp; <span class=\"sy0\">|<\/span> Buffers <span class=\"sy0\">|<\/span> Reads &nbsp;<span class=\"sy0\">|<\/span> Writes <span class=\"sy0\">|<\/span> &nbsp;OMem <span class=\"sy0\">|<\/span> &nbsp;1Mem <span class=\"sy0\">|<\/span> Used<span class=\"sy0\">-<\/span>Mem <span class=\"sy0\">|<\/span> Used<span class=\"sy0\">-<\/span>Tmp<span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">--------------------------------------------------------------------------------------------------------------------------------------------------------<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">0<\/span> <span class=\"sy0\">|<\/span> SELECT STATEMENT &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">73<\/span> <span class=\"sy0\">|<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu19\">22.05<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; 246K<span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">885<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">873<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp;<a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> GROUP BY NOSORT <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">98<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">73<\/span> <span class=\"sy0\">|<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu19\">22.05<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; 246K<span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">885<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">873<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">2<\/span> <span class=\"sy0\">|<\/span> &nbsp; NESTED LOOPS &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">33945<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; 41M<span class=\"sy0\">|<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu19\">14.45<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; 246K<span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">885<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">873<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">3<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;VIEW &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">15474<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">42603<\/span> <span class=\"sy0\">|<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu19\">02.24<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">1802<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">873<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">873<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">4<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> ORDER BY &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">15474<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">42603<\/span> <span class=\"sy0\">|<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu19\">02.23<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">1802<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">873<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">873<\/span> <span class=\"sy0\">|<\/span> &nbsp;2772K<span class=\"sy0\">|<\/span> &nbsp; 749K<span class=\"sy0\">|<\/span><span class=\"nu0\">67584<\/span> &nbsp;<span class=\"br0\">&#40;<\/span><span class=\"nu0\">25<\/span><span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">3072<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|*<\/span> &nbsp;<span class=\"nu0\">5<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;TABLE ACCESS FULL<span class=\"sy0\">|<\/span> MY_OBJECTS &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">15474<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">42603<\/span> <span class=\"sy0\">|<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu19\">00.03<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">1701<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">0<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">0<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|*<\/span> &nbsp;<span class=\"nu0\">6<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;INDEX <a href=\"http:\/\/www.php.net\/range\"><span class=\"kw3\">RANGE<\/span><\/a> SCAN &nbsp; <span class=\"sy0\">|<\/span> MY_TABLES_IDX <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">42603<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">2<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; 41M<span class=\"sy0\">|<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu8\">00<\/span><span class=\"sy0\">:<\/span><span class=\"nu19\">07.76<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; 245K<span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">12<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">0<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">--------------------------------------------------------------------------------------------------------------------------------------------------------<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Utilizando as regras apresentadas no artigo &#8220;<strong><a href=\"http:\/\/dbtimewizard.com.br\/blog\/execution-plan-como-verificar-a-ordem-que-as-operacoes-sao-realizadas\/\" target=\"_blank\">Execution Plan: Como verificar a ordem que as opera\u00e7\u00f5es s\u00e3o realizadas?<\/a><\/strong>&#8221; chegamos a conclus\u00e3o que as opera\u00e7\u00f5es desse plano s\u00e3o executadas na seguinte ordem: <strong>5,4,3,6,2,1,0<\/strong>.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\"><strong>(5)<\/strong> A primeira opera\u00e7\u00e3o a ser executada foi &#8220;TABLE ACCESS FULL&#8221; na tabela &#8220;MY_OBJECTS&#8221;, o Otimizador estimou que seriam lidos 15.474 registros e durante a execu\u00e7\u00e3o foram lidos 42.603 registros, o tempo gasto nesta opera\u00e7\u00e3o foi de 3 cent\u00e9simos de segundo e foram lidos 1701 blocos do &#8220;Buffer cache&#8221;.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\"><strong>(4)<\/strong> A segunda opera\u00e7\u00e3o a ser executada foi &#8220;SORT ORDER BY&#8221; dos registros (42.603) selecionados na opera\u00e7\u00e3o filha (5), essa opera\u00e7\u00e3o teve uma dura\u00e7\u00e3o de 2 segundos e 20 cent\u00e9simos de segundo, porem na linha da opera\u00e7\u00e3o temos 2 segundos e 23 cent\u00e9simos de segundo pois esse valor acumula os tempos da opera\u00e7\u00f5es filhas, nessa opera\u00e7\u00e3o alem dos 101 blocos de lidos do &#8220;Buffer cache&#8221; (1701 + 101 = 1802), temos 873 blocos de leitura de disco, 873 blocos de grava\u00e7\u00e3o em disco e 3.072 KB de utiliza\u00e7\u00e3o da tablespace de segmentos tempor\u00e1rios. Essas estat\u00edsticas adicionais aparecem pois a opera\u00e7\u00e3o &#8220;SORT ORDER BY&#8221; precisa de uma \u00e1rea de trabalho e nesse caso a \u00e1rea de memoria (SORT_AREA_SIZE) destinada para esta atividade foi insuficiente e o banco teve que utilizar a tablespace de segmentos tempor\u00e1rios para concluir a opera\u00e7\u00e3o.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\"><strong>(3)<\/strong> A terceira opera\u00e7\u00e3o a ser executada foi &#8220;VIEW&#8221;, o tempo gasto para executar esta opera\u00e7\u00e3o foi 1 cent\u00e9simo de segundo (lembrando que o valor apresentado \u00e9 um acumulado dos tempos da opera\u00e7\u00f5es filhas 2.23 + 0.01 = 2.24), as demais colunas estat\u00edsticas repetem o valores da opera\u00e7\u00e3o filha pois s\u00e3o colunas de valores acumulados.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\"><strong>(6)<\/strong> A quarta opera\u00e7\u00e3o a ser executada foi &#8220;INDEX RANGE SCAN&#8221; no \u00edndice &#8220;MY_TABLES_IDX&#8221;, neste caso o Otimizador estimou 2 registros (E-Rows) e foram lidos 41 milh\u00f5es (A-Rows), nessa opera\u00e7\u00e3o podemos observar que diferente das demais opera\u00e7\u00f5es, a coluna &#8220;Starts&#8221; apresenta o valor de 42603 que significa que esta opera\u00e7\u00e3o foi executada 42603 vezes. Isso explica por que somente esta opera\u00e7\u00e3o consumiu o tempo de 7 segundos e 76 cent\u00e9simos de segundos, fez a leitura de 245 mil blocos no &#8220;Buffer Cache&#8221; e 12 leituras f\u00edsicas. \u00c9 importante observar que esta opera\u00e7\u00e3o n\u00e3o tem opera\u00e7\u00f5es filhas, logo os valores estat\u00edsticas s\u00e3o exclusivos dela.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\"><strong>(2)<\/strong> A quinta opera\u00e7\u00e3o a ser executada foi &#8220;NESTED LOOPS&#8221;, na verdade devido a natureza dessa opera\u00e7\u00e3o, a opera\u00e7\u00e3o filha (6) \u00e9 executada em conjunto com essa opera\u00e7\u00e3o at\u00e9 o fim do &#8220;LOOP&#8221;, para defini\u00e7\u00e3o de sequ\u00eancia dizemos que a opera\u00e7\u00e3o (6) foi executada primeiro pois ela \u00e9 filha e sempre vai gerar informa\u00e7\u00e3o para a opera\u00e7\u00e3o pai (2). No plano observamos que o Otimizador estimou 33945 registros quando na verdade foram lidos 41 milh\u00f5es, o tempo de dura\u00e7\u00e3o dessa opera\u00e7\u00e3o foi de 4 segundos e 45 cent\u00e9simos de segundo pois os 10 segundos adicionais que aparecem no plano s\u00e3o das opera\u00e7\u00f5es filhas 3 e 6 (2.24 + 7.76 = 10). O demais valores estat\u00edsticos s\u00e3o valores acumulados e s\u00e3o resultado da soma das opera\u00e7\u00f5es filhas.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\"><strong>(1)<\/strong> A sexta opera\u00e7\u00e3o a ser executada foi &#8220;SORT GROUP BY NOSORT&#8221;, nessa opera\u00e7\u00e3o o Otimizador estimou que seriam tratados 98 registros e ap\u00f3s execu\u00e7\u00e3o foram 73 registros, com um tempo de dura\u00e7\u00e3o de 22 segundos e cinco cent\u00e9simos acumulando os tempos de todas as opera\u00e7\u00f5es descendentes. Demais estat\u00edsticas permaneceram inalteradas e como s\u00e3o valores acumulados significa que para essas colunas n\u00e3o houve atividade.<\/span><\/p>\n<h2 style=\"text-align: justify;\"><span style=\"font-size: 14pt;\">Conclus\u00e3o<\/span><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">As estat\u00edsticas geradas em tempo de execu\u00e7\u00e3o s\u00e3o uma fonte importante de informa\u00e7\u00e3o para analise do desempenho da instru\u00e7\u00e3o SQL, atrav\u00e9s dela conseguimos saber se o Otimizador conseguiu estimar corretamente a quantidade de registro para cada opera\u00e7\u00e3o, conseguimos identificar qual opera\u00e7\u00e3o esta com dura\u00e7\u00e3o de tempo maior, conseguimos ver se a ordem de jun\u00e7\u00e3o das tabelas \u00e9 a mais adequada e muito mais. Existem muitas t\u00e9cnicas de tuning que podem ser aplicadas para melhoria de desempenho de instru\u00e7\u00f5es SQL, mas em quase todas voc\u00ea precisa saber interpretar corretamente as estat\u00edsticas que s\u00e3o exibidas no plano de execu\u00e7\u00e3o para obter sucesso nesse trabalho.<\/span><\/p>\n<h2 style=\"text-align: justify;\"><span style=\"font-size: 14pt;\">Refer\u00eancias<\/span><\/h2>\n<p><a href=\"http:\/\/allthingsoracle.com\/execution-plans-part-11-actuals\/\" target=\"_blank\">http:\/\/allthingsoracle.com\/execution-plans-part-11-actuals\/<\/a><\/p>\n<p><a href=\"http:\/\/docs.oracle.com\/cd\/E11882_01\/server.112\/e40402\/dynviews_3057.htm#REFRN30252\" target=\"_blank\">http:\/\/docs.oracle.com\/cd\/E11882_01\/server.112\/e40402\/dynviews_3057.htm#REFRN30252<\/a><\/p>\n<p>&nbsp;<br \/>\n&nbsp;<br \/>\n<a href=\"http:\/\/dbtimewizard.com.br\/treinamento\/\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-1255\" src=\"http:\/\/dbtimewizard.com.br\/blog\/wp-content\/uploads\/2017\/11\/promocao2u.jpg\" alt=\"Promo-D75L\" width=\"330\" height=\"242\" \/><\/a><\/p>\n<p><a href=\"https:\/\/youtu.be\/l6OphhTle9I\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-1215\" src=\"http:\/\/dbtimewizard.com.br\/wp-content\/uploads\/2018\/01\/video-02-300x168.jpg\" alt=\"video-02\" width=\"330\" height=\"242\" \/><\/a><br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>No artigo anterior foram abordadas as estat\u00edsticas estimadas pelo Otimizador \u00a0para o plano de execu\u00e7\u00e3o, agora vamos tratar das estat\u00edsticas geradas ap\u00f3s a execu\u00e7\u00e3o do plano, \u00e9 nesse momento que temos condi\u00e7\u00f5es de avaliar se o Otimizador acertou em suas estimativas. A efic\u00e1cia\u00a0do plano de execu\u00e7\u00e3o esta diretamente relacionada com a precis\u00e3o da estimativa dessas estat\u00edsticas, ou seja, quanto melhor<\/p>\n","protected":false},"author":2,"featured_media":171,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":[6,42,46,36,10,29,11,47,45,48,43,44],"class_list":["post-170","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-execution-plan","tag-cbo","tag-cost-base-optimizer","tag-dbms_xplan-display_cursor","tag-execution-plan","tag-otimizador","tag-performance-tuning","tag-plano-de-execucao","tag-rowsource-execution-statistics","tag-sql-statement-analysis","tag-statistics_level","tag-vsql_plan_statistics_all","tag-workarea"],"aioseo_notices":[],"_links":{"self":[{"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/posts\/170","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/comments?post=170"}],"version-history":[{"count":22,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/posts\/170\/revisions"}],"predecessor-version":[{"id":2064,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/posts\/170\/revisions\/2064"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/media\/171"}],"wp:attachment":[{"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/media?parent=170"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/categories?post=170"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/tags?post=170"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}