{"id":115,"date":"2015-11-29T21:15:44","date_gmt":"2015-11-29T23:15:44","guid":{"rendered":"http:\/\/dbtimewizard.com.br\/blog\/?p=115"},"modified":"2019-10-10T23:08:37","modified_gmt":"2019-10-11T02:08:37","slug":"execution-plan-como-verificar-a-ordem-que-as-operacoes-sao-realizadas","status":"publish","type":"post","link":"http:\/\/dbtimewizard.com.br\/blog\/execution-plan-como-verificar-a-ordem-que-as-operacoes-sao-realizadas\/","title":{"rendered":"Execution Plan: Como verificar a ordem que as opera\u00e7\u00f5es s\u00e3o realizadas"},"content":{"rendered":"<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Quando iniciamos um trabalho de Tuning de uma instru\u00e7\u00e3o SQL, precisamos ler o plano de execu\u00e7\u00e3o Oracle dessa instru\u00e7\u00e3o e entender o que cada uma das opera\u00e7\u00f5es esta realizando e a sequ\u00eancia que essas opera\u00e7\u00f5es est\u00e3o sendo executadas.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">O manuais da Oracle abordam essa quest\u00e3o de forma muito simplista e ao utilizarmos essas regras muitas vezes\u00a0n\u00e3o conseguimos determinar a ordem correta de execu\u00e7\u00e3o das opera\u00e7\u00f5es.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Esse artigo tem como objetivo apresentar uma regra mais consistente que permita a verifica\u00e7\u00e3o da sequ\u00eancia de execu\u00e7\u00e3o das opera\u00e7\u00f5es de forma simples e r\u00e1pida.<\/span><\/p>\n<p style=\"text-align: justify;\"><strong><span style=\"font-size: 14pt;\">Defini\u00e7\u00e3o da regra<\/span><\/strong><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Come\u00e7amos a leitura do plano a partir da opera\u00e7\u00e3o id=0, essa \u00e9 a\u00a0opera\u00e7\u00e3o pai (SELECT STATEMENT), a opera\u00e7\u00e3o indentada um n\u00edvel abaixo dela ser\u00e1 sua filha que por sua vez ser\u00e1 opera\u00e7\u00e3o pai da opera\u00e7\u00e3o indentada um n\u00edvel abaixo dela tamb\u00e9m e assim sucessivamente. <\/span><br \/>\n<span style=\"font-size: 12pt;\">Considerando este crit\u00e9rio de identifica\u00e7\u00e3o das opera\u00e7\u00f5es, a seguir temos basicamente 4 regras:<\/span><\/p>\n<ol>\n<li style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Seguindo a partir da opera\u00e7\u00e3o id=0, a primeira opera\u00e7\u00e3o a ser executada no\u00a0plano ser\u00e1 aquela mais indentada que n\u00e3o possuir uma filha.<\/span><\/li>\n<li style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Na sequ\u00eancia ser\u00e1 executada a opera\u00e7\u00e3o irm\u00e3 dessa opera\u00e7\u00e3o se ela existir e n\u00e3o tiver uma opera\u00e7\u00e3o filha.<\/span><\/li>\n<li style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Caso a opera\u00e7\u00e3o irm\u00e3 tenha filha vamos continuar verificando as opera\u00e7\u00f5es que descendem dela at\u00e9 encontrar uma opera\u00e7\u00e3o que n\u00e3o tenha filha, esta ser\u00e1 a pr\u00f3xima opera\u00e7\u00e3o a ser executada.<\/span><\/li>\n<li style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Ap\u00f3s a execu\u00e7\u00e3o de uma opera\u00e7\u00e3o se ela n\u00e3o tiver irm\u00e3s a pr\u00f3xima opera\u00e7\u00e3o a ser executada ser\u00e1 a opera\u00e7\u00e3o pai.<\/span><\/li>\n<\/ol>\n<p><strong><span style=\"font-size: 14pt;\">Leitura do plano de execu\u00e7\u00e3o<\/span><\/strong><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Vamos verificar a seguir como utilizar as regras acima num plano de execu\u00e7\u00e3o gerado pelo pacote DBMS_XPLAN, se voc\u00ea tiver d\u00favidas de como utilizar este pacote consulte o artigo &#8220;<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>&#8220;<\/span><\/p>\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 \/><\/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\">4239905139<\/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; &nbsp; <span class=\"sy0\">|<\/span> Name &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> Rows &nbsp;<span class=\"sy0\">|<\/span> Bytes <span class=\"sy0\">|<\/span> Cost <span class=\"br0\">&#40;<\/span><span class=\"sy0\">%<\/span>CPU<span class=\"br0\">&#41;<\/span><span class=\"sy0\">|<\/span> <a href=\"http:\/\/www.php.net\/time\"><span class=\"kw3\">Time<\/span><\/a> &nbsp; &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; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">35<\/span> <span class=\"br0\">&#40;<\/span><span class=\"nu0\">100<\/span><span class=\"br0\">&#41;<\/span><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> GROUP BY &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">11<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">77<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">35<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">3<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">01<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">2<\/span> <span class=\"sy0\">|<\/span> &nbsp; MERGE <a href=\"http:\/\/www.php.net\/join\"><span class=\"kw3\">JOIN<\/span><\/a> CARTESIAN &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">2889<\/span> <span class=\"sy0\">|<\/span> <span class=\"nu0\">20223<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">34<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">01<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">3<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;TABLE ACCESS FULL &nbsp; &nbsp;<span class=\"sy0\">|<\/span> EMPLOYEES &nbsp;<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">107<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">749<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">3<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">01<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">4<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;BUFFER <a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">27<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">32<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">4<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">01<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">5<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; INDEX FAST FULL SCAN<span class=\"sy0\">|<\/span> DEPT_ID_PK <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">27<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">0<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">--------------------------------------------------------------------------------------<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">1) Seguindo a <strong><span style=\"color: #ff0000;\">regra (1)<\/span><\/strong> vamos identificar a partir do &#8220;Id 0&#8221; a opera\u00e7\u00e3o descendente que n\u00e3o possui filha, nesse caso ser\u00e1 a opera\u00e7\u00e3o &#8220;TABLE ACCESS FULL&#8221; <strong><span style=\"color: #ff0000;\">(Id 3)<\/span><\/strong>,\u00a0podemos observar que a opera\u00e7\u00e3o abaixo dela esta no mesmo n\u00edvel de indenta\u00e7\u00e3o e portanto n\u00e3o \u00e9 uma opera\u00e7\u00e3o filha, \u00e9 uma opera\u00e7\u00e3o irm\u00e3.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">2) A pr\u00f3xima opera\u00e7\u00e3o a ser executada, segundo a <span style=\"color: #000000;\">regra (2)<\/span>, ser\u00e1 a opera\u00e7\u00e3o irm\u00e3 se ela n\u00e3o tiver opera\u00e7\u00e3o filha, no nosso plano a opera\u00e7\u00e3o irm\u00e3 (Id 4) tem uma filha (Id 5), ent\u00e3o temos que aplicar a <strong><span style=\"color: #ff0000;\">regra (3)<\/span><\/strong> que diz que temos que localizar a opera\u00e7\u00e3o descendente que n\u00e3o tem opera\u00e7\u00e3o filha, nesse caso ser\u00e1 a opera\u00e7\u00e3o &#8220;INDEX FAST FULL SCAN&#8221; <strong><span style=\"color: #ff0000;\">(Id 5)<\/span><\/strong> que ser\u00e1 executada.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">3) A opera\u00e7\u00e3o (Id 5) n\u00e3o possui opera\u00e7\u00e3o filha e nem opera\u00e7\u00e3o irm\u00e3, portanto vamos aplicar a <strong><span style=\"color: #ff0000;\">regra (4)<\/span><\/strong> que diz que se n\u00e3o houver opera\u00e7\u00e3o irm\u00e3 a pr\u00f3xima opera\u00e7\u00e3o a ser executada ser\u00e1 a opera\u00e7\u00e3o pai, ou seja ser\u00e1 a opera\u00e7\u00e3o &#8220;BUFFER SORT&#8221; <strong><span style=\"color: #ff0000;\">(Id 4)<\/span><\/strong>.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">4) Como a opera\u00e7\u00e3o (Id 4) tem somente uma irm\u00e3 (Id 3) que j\u00e1 foi executada, vamos aplicar novamente a <strong><span style=\"color: #ff0000;\">regra (4)<\/span><\/strong> e a pr\u00f3xima opera\u00e7\u00e3o a ser executada ser\u00e1 a opera\u00e7\u00e3o pai dessa duas irm\u00e3s &#8220;MERGE JOIN CARTESIAN&#8221; <strong><span style=\"color: #ff0000;\">(Id 2)<\/span><\/strong>.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">5) Em seguida verificamos que a opera\u00e7\u00e3o (Id 2) n\u00e3o possui irm\u00e3, ou seja, n\u00e3o existe opera\u00e7\u00e3o no mesmo n\u00edvel de indenta\u00e7\u00e3o, e nesse caso vamos aplicar novamente a <strong><span style=\"color: #ff0000;\">regra (4)<\/span><\/strong> e a pr\u00f3xima opera\u00e7\u00e3o ser\u00e1 &#8220;SORT GROUP BY&#8221; <strong><span style=\"color: #ff0000;\">(Id 1)<\/span><\/strong>.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">6) Concluindo as opera\u00e7\u00f5es ser\u00e3o executadas na seguinte ordem de Id: 3, 5, 4, 2, 1, 0.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Para facilitar a visualiza\u00e7\u00e3o, veja abaixo o mesmo plano onde foi adicionada uma coluna com Id pai da opera\u00e7\u00e3o (Pid) e uma coluna com um numero que indica a ordem de execu\u00e7\u00e3o das opera\u00e7\u00f5es (Ord):<\/span><\/p>\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 \/><\/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\">4239905139<\/span><br \/>\n<br \/>\n<span class=\"sy0\">--------------------------------------------------------------------------------------------------<\/span><br \/>\n<span class=\"sy0\">|<\/span> Id &nbsp;<span class=\"sy0\">|<\/span> Pid <span class=\"sy0\">|<\/span> <a href=\"http:\/\/www.php.net\/ord\"><span class=\"kw3\">Ord<\/span><\/a> <span class=\"sy0\">|<\/span> Operation &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> Name &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> Rows &nbsp;<span class=\"sy0\">|<\/span> Bytes <span class=\"sy0\">|<\/span> Cost <span class=\"br0\">&#40;<\/span><span class=\"sy0\">%<\/span>CPU<span class=\"br0\">&#41;<\/span><span class=\"sy0\">|<\/span> <a href=\"http:\/\/www.php.net\/time\"><span class=\"kw3\">Time<\/span><\/a> &nbsp; &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> &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">6<\/span> <span class=\"sy0\">|<\/span> SELECT STATEMENT &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">35<\/span> <span class=\"br0\">&#40;<\/span><span class=\"nu0\">100<\/span><span class=\"br0\">&#41;<\/span><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; <span class=\"nu0\">0<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">5<\/span> <span class=\"sy0\">|<\/span> &nbsp;<a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> GROUP BY &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">11<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">77<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">35<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">3<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">01<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">2<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">4<\/span> <span class=\"sy0\">|<\/span> &nbsp; MERGE <a href=\"http:\/\/www.php.net\/join\"><span class=\"kw3\">JOIN<\/span><\/a> CARTESIAN &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">2889<\/span> <span class=\"sy0\">|<\/span> <span class=\"nu0\">20223<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">34<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">01<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">3<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">2<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;TABLE ACCESS FULL &nbsp; &nbsp;<span class=\"sy0\">|<\/span> EMPLOYEES &nbsp;<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">107<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">749<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">3<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">01<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">4<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">2<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">3<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;BUFFER <a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">27<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">32<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">4<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">01<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">5<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">4<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">2<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; INDEX FAST FULL SCAN<span class=\"sy0\">|<\/span> DEPT_ID_PK <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">27<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">0<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">|<\/span> &nbsp; &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<h2><span style=\"font-size: 14pt;\"><strong>Leitura de um plano de execu\u00e7\u00e3o mais complexo<\/strong><\/span><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">A leitura do plano de execu\u00e7\u00e3o acima serviu apenas para treinar o entendimento de como devem ser aplicadas as regras, vamos fazer outro exerc\u00edcio com um plano de execu\u00e7\u00e3o um pouco mais complexo para consolidar esse entendimento.<\/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 \/><\/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\">2215075747<\/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; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> Name &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> Rows &nbsp;<span class=\"sy0\">|<\/span> Bytes <span class=\"sy0\">|<\/span> Cost <span class=\"br0\">&#40;<\/span><span class=\"sy0\">%<\/span>CPU<span class=\"br0\">&#41;<\/span><span class=\"sy0\">|<\/span> <a href=\"http:\/\/www.php.net\/time\"><span class=\"kw3\">Time<\/span><\/a> &nbsp; &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; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">410<\/span> <span class=\"br0\">&#40;<\/span><span class=\"nu0\">100<\/span><span class=\"br0\">&#41;<\/span><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;FILTER &nbsp; &nbsp; &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=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &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\">2<\/span> <span class=\"sy0\">|<\/span> &nbsp; <a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> GROUP BY &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">20<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">820<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">410<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">05<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|*<\/span> &nbsp;<span class=\"nu0\">3<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/hash\"><span class=\"kw3\">HASH<\/span><\/a> <a href=\"http:\/\/www.php.net\/join\"><span class=\"kw3\">JOIN<\/span><\/a> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> <span class=\"nu0\">55500<\/span> <span class=\"sy0\">|<\/span> &nbsp;2222K<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">408<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">05<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">4<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; TABLE ACCESS FULL &nbsp; &nbsp;<span class=\"sy0\">|<\/span> COUNTRIES &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">23<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">345<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">3<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">01<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">5<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; TABLE ACCESS FULL &nbsp; &nbsp;<span class=\"sy0\">|<\/span> CUSTOMERS &nbsp; &nbsp;<span class=\"sy0\">|<\/span> <span class=\"nu0\">55500<\/span> <span class=\"sy0\">|<\/span> &nbsp;1409K<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">405<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">05<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">6<\/span> <span class=\"sy0\">|<\/span> &nbsp; <a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> <a href=\"http:\/\/www.php.net\/aggregate\"><span class=\"kw3\">AGGREGATE<\/span><\/a> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">10<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &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\">7<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/hash\"><span class=\"kw3\">HASH<\/span><\/a> <a href=\"http:\/\/www.php.net\/join\"><span class=\"kw3\">JOIN<\/span><\/a> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> <span class=\"nu0\">55500<\/span> <span class=\"sy0\">|<\/span> &nbsp; 541K<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">406<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">05<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">8<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; INDEX FULL SCAN &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> COUNTRIES_PK <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">23<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">115<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">1<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">01<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">9<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; TABLE ACCESS FULL &nbsp; &nbsp;<span class=\"sy0\">|<\/span> CUSTOMERS &nbsp; &nbsp;<span class=\"sy0\">|<\/span> <span class=\"nu0\">55500<\/span> <span class=\"sy0\">|<\/span> &nbsp; 270K<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">405<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">05<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">10<\/span> <span class=\"sy0\">|<\/span> &nbsp; <a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> GROUP BY &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">13<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &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\">11<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;VIEW &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">12<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">156<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">407<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">05<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">12<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> GROUP BY &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">12<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">528<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">407<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">05<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">13<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;NESTED LOOPS &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">162<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">7128<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">407<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">05<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">14<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; VIEW &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> VW_GBF_8 &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">162<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">6318<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">407<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">05<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">15<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> GROUP BY &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">162<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">4212<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">407<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">05<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">16<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; TABLE ACCESS FULL<span class=\"sy0\">|<\/span> CUSTOMERS &nbsp; &nbsp;<span class=\"sy0\">|<\/span> <span class=\"nu0\">55500<\/span> <span class=\"sy0\">|<\/span> &nbsp;1409K<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">405<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">05<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|*<\/span> <span class=\"nu0\">17<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; INDEX UNIQUE SCAN &nbsp;<span class=\"sy0\">|<\/span> COUNTRIES_PK <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">5<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">0<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">-----------------------------------------------------------------------------------------<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p style=\"text-align: justify; padding-left: 30px;\"><span style=\"font-size: 12pt;\">01) Aplicando a regra (1): A opera\u00e7\u00e3o &#8220;TABLE ACCESS FULL&#8221; \u00a0(Id 4) ser\u00e1 executada;<\/span><br \/>\n<span style=\"font-size: 12pt;\"> 02) Aplicando a regra (2): A opera\u00e7\u00e3o &#8220;TABLE ACCESS FULL&#8221; \u00a0(Id 5) ser\u00e1 executada;<\/span><br \/>\n<span style=\"font-size: 12pt;\"> 03) Aplicando a regra (4): A opera\u00e7\u00e3o &#8220;HASH JOIN&#8221; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0(Id 3) ser\u00e1 executada;<\/span><br \/>\n<span style=\"font-size: 12pt;\"> 04) Aplicando a regra (4): A opera\u00e7\u00e3o &#8220;SORT GROUP BY&#8221; \u00a0 \u00a0 \u00a0 \u00a0(Id 2) ser\u00e1 executada;<\/span><br \/>\n<span style=\"font-size: 12pt;\"> 05) Aplicando a regra (3): A opera\u00e7\u00e3o &#8220;INDEX FULL SCAN&#8221; \u00a0 \u00a0 (Id 8) ser\u00e1 executada;<\/span><br \/>\n<span style=\"font-size: 12pt;\"> 06) Aplicando a regra (2): A opera\u00e7\u00e3o &#8220;TABLE ACCESS FULL&#8221; \u00a0(Id 9) ser\u00e1 executada;<\/span><br \/>\n<span style=\"font-size: 12pt;\"> 07) Aplicando a regra (4): A opera\u00e7\u00e3o &#8220;HASH JOIN&#8221; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0(Id 7) ser\u00e1 executada;<\/span><br \/>\n<span style=\"font-size: 12pt;\"> 08) Aplicando a regra (4): A opera\u00e7\u00e3o &#8220;SORT AGGREGATE&#8221; \u00a0 \u00a0(Id 6) ser\u00e1 executada;<\/span><br \/>\n<span style=\"font-size: 12pt;\"> 09) Aplicando a regra (3): A opera\u00e7\u00e3o &#8220;TABLE ACCESS FULL&#8221; \u00a0(Id 16) ser\u00e1 executada;<\/span><br \/>\n<span style=\"font-size: 12pt;\"> 10) Aplicando a regra (4): A opera\u00e7\u00e3o &#8220;SORT GROUP BY&#8221; \u00a0 \u00a0 \u00a0 \u00a0(Id 15) ser\u00e1 executada;<\/span><br \/>\n<span style=\"font-size: 12pt;\"> 11) Aplicando a regra (4): A opera\u00e7\u00e3o &#8220;VIEW&#8221; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (Id 14) ser\u00e1 executada;<\/span><br \/>\n<span style=\"font-size: 12pt;\"> 12) Aplicando a regra (2): A opera\u00e7\u00e3o &#8220;INDEX UNIQUE SCAN&#8221; (Id 17) ser\u00e1 executada;<\/span><br \/>\n<span style=\"font-size: 12pt;\"> 13) Aplicando a regra (4): A opera\u00e7\u00e3o &#8220;NESTED LOOPS&#8221; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0(Id 13) ser\u00e1 executada;<\/span><br \/>\n<span style=\"font-size: 12pt;\"> 14) Aplicando a regra (4): A opera\u00e7\u00e3o &#8220;SORT GROUP BY&#8221; \u00a0 \u00a0 \u00a0 \u00a0(Id 12) ser\u00e1 executada;<\/span><br \/>\n<span style=\"font-size: 12pt;\"> 15) Aplicando a regra (4): A opera\u00e7\u00e3o &#8220;VIEW&#8221; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (Id 11) ser\u00e1 executada;<\/span><br \/>\n<span style=\"font-size: 12pt;\"> 16) Aplicando a regra (4): A opera\u00e7\u00e3o &#8220;SORT GROUP BY&#8221; \u00a0 \u00a0 \u00a0 \u00a0(Id 10) ser\u00e1 executada;<\/span><br \/>\n<span style=\"font-size: 12pt;\"> 17) Aplicando a regra (4): A opera\u00e7\u00e3o &#8220;FILTER&#8221; \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 (Id 1) ser\u00e1 executada;<\/span><br \/>\n<span style=\"font-size: 12pt;\"> 18) Aplicando a regra (4): A opera\u00e7\u00e3o &#8220;SELECT STATEMENT&#8221; \u00a0 (Id 0) ser\u00e1 executada;<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">A execu\u00e7\u00e3o do plano ser\u00e1 na seguinte ordem Id: 4,5,3,2,8,9,7,6,16,15,14,17,13,12,11,10,1,0<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Para facilitar a visualiza\u00e7\u00e3o, veja abaixo o mesmo plano onde foi adicionada uma coluna com Id pai da opera\u00e7\u00e3o (Pid) e uma coluna com um numero que indica a ordem de execu\u00e7\u00e3o das opera\u00e7\u00f5es (Ord):<\/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 \/><\/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\">2215075747<\/span><br \/>\n<br \/>\n<span class=\"sy0\">-----------------------------------------------------------------------------------------------------<\/span><br \/>\n<span class=\"sy0\">|<\/span> Id &nbsp;<span class=\"sy0\">|<\/span> Pid <span class=\"sy0\">|<\/span> <a href=\"http:\/\/www.php.net\/ord\"><span class=\"kw3\">Ord<\/span><\/a> <span class=\"sy0\">|<\/span> Operation &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> Name &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> Rows &nbsp;<span class=\"sy0\">|<\/span> Bytes <span class=\"sy0\">|<\/span> Cost <span class=\"br0\">&#40;<\/span><span class=\"sy0\">%<\/span>CPU<span class=\"br0\">&#41;<\/span><span class=\"sy0\">|<\/span> <a href=\"http:\/\/www.php.net\/time\"><span class=\"kw3\">Time<\/span><\/a> &nbsp; &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> &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">18<\/span> <span class=\"sy0\">|<\/span> SELECT STATEMENT &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">410<\/span> <span class=\"br0\">&#40;<\/span><span class=\"nu0\">100<\/span><span class=\"br0\">&#41;<\/span><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; <span class=\"nu0\">0<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">17<\/span> <span class=\"sy0\">|<\/span> &nbsp;FILTER &nbsp; &nbsp; &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=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &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\">2<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">4<\/span> <span class=\"sy0\">|<\/span> &nbsp; <a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> GROUP BY &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">20<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">820<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">410<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">05<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|*<\/span> &nbsp;<span class=\"nu0\">3<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">2<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">3<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/hash\"><span class=\"kw3\">HASH<\/span><\/a> <a href=\"http:\/\/www.php.net\/join\"><span class=\"kw3\">JOIN<\/span><\/a> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> <span class=\"nu0\">55500<\/span> <span class=\"sy0\">|<\/span> &nbsp;2222K<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">408<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">05<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">4<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">3<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; TABLE ACCESS FULL &nbsp; &nbsp;<span class=\"sy0\">|<\/span> COUNTRIES &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">23<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">345<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">3<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">01<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">5<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">3<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">2<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; TABLE ACCESS FULL &nbsp; &nbsp;<span class=\"sy0\">|<\/span> CUSTOMERS &nbsp; &nbsp;<span class=\"sy0\">|<\/span> <span class=\"nu0\">55500<\/span> <span class=\"sy0\">|<\/span> &nbsp;1409K<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">405<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">05<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">6<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">8<\/span> <span class=\"sy0\">|<\/span> &nbsp; <a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> <a href=\"http:\/\/www.php.net\/aggregate\"><span class=\"kw3\">AGGREGATE<\/span><\/a> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">10<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &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\">7<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">6<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">7<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/hash\"><span class=\"kw3\">HASH<\/span><\/a> <a href=\"http:\/\/www.php.net\/join\"><span class=\"kw3\">JOIN<\/span><\/a> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> <span class=\"nu0\">55500<\/span> <span class=\"sy0\">|<\/span> &nbsp; 541K<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">406<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">05<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">8<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">7<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">5<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; INDEX FULL SCAN &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> COUNTRIES_PK <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">23<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">115<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">1<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">01<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">9<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">7<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">6<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; TABLE ACCESS FULL &nbsp; &nbsp;<span class=\"sy0\">|<\/span> CUSTOMERS &nbsp; &nbsp;<span class=\"sy0\">|<\/span> <span class=\"nu0\">55500<\/span> <span class=\"sy0\">|<\/span> &nbsp; 270K<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">405<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">05<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">10<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">16<\/span> <span class=\"sy0\">|<\/span> &nbsp; <a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> GROUP BY &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">13<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &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\">11<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">10<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">15<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;VIEW &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">12<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">156<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">407<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">05<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">12<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">11<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">14<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> GROUP BY &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">12<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">528<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">407<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">05<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">13<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">12<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">13<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;NESTED LOOPS &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">162<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">7128<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">407<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">05<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">14<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">13<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">11<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; VIEW &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> VW_GBF_8 &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">162<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">6318<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">407<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">05<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">15<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">14<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">10<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> GROUP BY &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">162<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">4212<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">407<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">05<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">16<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">15<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">9<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; TABLE ACCESS FULL<span class=\"sy0\">|<\/span> CUSTOMERS &nbsp; &nbsp;<span class=\"sy0\">|<\/span> <span class=\"nu0\">55500<\/span> <span class=\"sy0\">|<\/span> &nbsp;1409K<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">405<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">1<\/span><span class=\"br0\">&#41;<\/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=\"nu8\">05<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|*<\/span> <span class=\"nu0\">17<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">13<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">12<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; INDEX UNIQUE SCAN &nbsp;<span class=\"sy0\">|<\/span> COUNTRIES_PK <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">5<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">0<\/span> &nbsp; <span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">-----------------------------------------------------------------------------------------------------<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<h2 style=\"text-align: justify;\"><strong><span style=\"font-size: 14pt;\">Conclus\u00e3o<\/span><\/strong><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Nesse momento voc\u00ea pode estar pensando que \u00e9 complicado aplicar essas regras e determinar a ordem em que as opera\u00e7\u00f5es s\u00e3o executadas em um plano de execu\u00e7\u00e3o, mas com a pr\u00e1tica essa leitura fica relativamente f\u00e1cil. A visualiza\u00e7\u00e3o da sequ\u00eancia de execu\u00e7\u00e3o do plano \u00e9 muito importante pois ela nos ajudar\u00e1 a entender por que uma determinada instru\u00e7\u00e3o SQL n\u00e3o esta executando com um tempo de resposta satisfat\u00f3rio.\u00a0<\/span><\/p>\n<h2 style=\"text-align: justify;\"><strong><span style=\"font-size: 14pt;\">Refer\u00eancias<\/span><\/strong><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\"><br \/>\n<a href=\"http:\/\/allthingsoracle.com\/execution-plans-part-3-the-rule\/\" target=\"_blank\">http:\/\/allthingsoracle.com\/execution-plans-part-3-the-rule\/<\/a><\/span><\/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>Quando iniciamos um trabalho de Tuning de uma instru\u00e7\u00e3o SQL, precisamos ler o plano de execu\u00e7\u00e3o Oracle dessa instru\u00e7\u00e3o e entender o que cada uma das opera\u00e7\u00f5es esta realizando e a sequ\u00eancia que essas opera\u00e7\u00f5es est\u00e3o sendo executadas. O manuais da Oracle abordam essa quest\u00e3o de forma muito simplista e ao utilizarmos essas regras muitas vezes\u00a0n\u00e3o conseguimos determinar a ordem<\/p>\n","protected":false},"author":2,"featured_media":117,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":[7,36,37,11,38],"class_list":["post-115","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-execution-plan","tag-dbms_xplan","tag-execution-plan","tag-ordem-de-execucao","tag-plano-de-execucao","tag-sql-tuning"],"aioseo_notices":[],"_links":{"self":[{"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/posts\/115","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=115"}],"version-history":[{"count":30,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/posts\/115\/revisions"}],"predecessor-version":[{"id":2062,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/posts\/115\/revisions\/2062"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/media\/117"}],"wp:attachment":[{"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/media?parent=115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/categories?post=115"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/tags?post=115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}