{"id":2213,"date":"2020-09-29T21:52:19","date_gmt":"2020-09-30T00:52:19","guid":{"rendered":"http:\/\/dbtimewizard.com.br\/blog\/?p=2213"},"modified":"2020-09-29T21:52:19","modified_gmt":"2020-09-30T00:52:19","slug":"evite-surpresas-desagradaveis-no-desempenho-das-consultas","status":"publish","type":"post","link":"http:\/\/dbtimewizard.com.br\/blog\/evite-surpresas-desagradaveis-no-desempenho-das-consultas\/","title":{"rendered":"Evite surpresas desagrad\u00e1veis no desempenho das consultas"},"content":{"rendered":"<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Voc\u00ea j\u00e1 ouviu algu\u00e9m dizer: Minha aplica\u00e7\u00e3o ficou lenta e nada foi alterado. Este problema relativamente comum pode ser evitado se voc\u00ea implementar no banco Oracle o recurso SQL PLAN MANAGEMENT (SPM), este recurso esta dispon\u00edvel a partir vers\u00e3o 11G e <strong><a href=\"http:\/\/dbtimewizard.com.br\/blog\/sql-profile-sera-que-posso-usar-esse-recurso\/\" target=\"_blank\">n\u00e3o\u00a0requer a licen\u00e7a das Options Diagnostic &amp; Tuning Pack<\/a><\/strong>. Basicamente\u00a0o SPM \u00e9 um mecanismo preventivo que permite ao Otimizador gerenciar automaticamente os planos de execu\u00e7\u00e3o, garantindo que o banco de dados use apenas planos que tenham desempenho igual ou melhor aos planos de execu\u00e7\u00e3o utilizados anteriormente, este mecanismo impede que uma consulta sofra uma regress\u00e3o no seu desempenho se n\u00e3o houver altera\u00e7\u00f5es nas estruturas dos objetos e par\u00e2metros do banco de dados.<\/span><\/p>\n<p>&nbsp;<br \/>\n&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">A seguir apresentamos uma pequena introdu\u00e7\u00e3o de como funciona a SQL PLAN BASELINE que \u00e9 o principal mecanismo do SPM e na sequ\u00eancia vamos fazer uma simula\u00e7\u00e3o pr\u00e1tica de como funciona o SPM.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Quando uma instru\u00e7\u00e3o SQL \u00e9 submetida ao processo de HARD PARSE, o Otimizador produz v\u00e1rios planos de execu\u00e7\u00e3o e seleciona aquele com o menor custo. Se esta instru\u00e7\u00e3o SQL estiver presente na SQL PLAN BASELINE e o plano gerado no HARD PARSE for igual a um dos planos existente na BASELINE, o Otimizador vai verificar se este plano foi aceito, se SIM o plano ser\u00e1 utilizado na execu\u00e7\u00e3o, se no entanto o plano n\u00e3o foi aceito, o Otimizador vai verificar a exist\u00eancia de outro plano aceito com custo menor e utilizar este plano da BASELINE na execu\u00e7\u00e3o da instru\u00e7\u00e3o SQL, se n\u00e3o existir outro plano aceito na BASELINE o plano gerado originalmente no HARD PARSE ser\u00e1 utilizado.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">O fluxograma abaixo representa a explica\u00e7\u00e3o acima<\/span><\/p>\n<p style=\"text-align: justify;\"><a href=\"http:\/\/dbtimewizard.com.br\/blog\/wp-content\/uploads\/2020\/09\/Fluxo_Baseline.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-2219\" src=\"http:\/\/dbtimewizard.com.br\/blog\/wp-content\/uploads\/2020\/09\/Fluxo_Baseline-724x1024.jpg\" alt=\"Baseline 1\" width=\"724\" height=\"1024\" srcset=\"http:\/\/dbtimewizard.com.br\/blog\/wp-content\/uploads\/2020\/09\/Fluxo_Baseline-724x1024.jpg 724w, http:\/\/dbtimewizard.com.br\/blog\/wp-content\/uploads\/2020\/09\/Fluxo_Baseline-212x300.jpg 212w, http:\/\/dbtimewizard.com.br\/blog\/wp-content\/uploads\/2020\/09\/Fluxo_Baseline.jpg 1240w\" sizes=\"auto, (max-width: 724px) 100vw, 724px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Outro fluxo alternativo ao apresentado anteriormente seria ap\u00f3s o HARD PARSE, se esta instru\u00e7\u00e3o SQL estiver presente na SQL PLAN BASELINE e o plano gerado no HARD PARSE N\u00c3O for igual a um dos planos existente na BASELINE, neste caso o Otimizador vai comparar o custo desse novo plano com o custo dos planos aceitos, se o custo do novo plano for menor ser\u00e3o geradas BASELINE HINTS para ele, se no entanto estas BASELINES HINTS n\u00e3o conseguirem reproduzir o plano gerado no HARD PARSE, o Otimizador vai verificar a exist\u00eancia de outro plano aceito com o menor custo e utilizar este plano da BASELINE na execu\u00e7\u00e3o da instru\u00e7\u00e3o SQL, se as BASELINES HINTS conseguirem reproduzir o plano gerado no HARD PARSE, o novo plano ser\u00e1 adicionado a BASELINE como n\u00e3o aceito e um plano da BASELINE com menor custo ser\u00e1 utilizado na execu\u00e7\u00e3o da instru\u00e7\u00e3o SQL.<\/span><\/p>\n<p style=\"text-align: justify;\"><a href=\"http:\/\/dbtimewizard.com.br\/blog\/wp-content\/uploads\/2020\/09\/Fluxo_Baseline2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-2220\" src=\"http:\/\/dbtimewizard.com.br\/blog\/wp-content\/uploads\/2020\/09\/Fluxo_Baseline2-724x1024.jpg\" alt=\"Baseline 2\" width=\"724\" height=\"1024\" srcset=\"http:\/\/dbtimewizard.com.br\/blog\/wp-content\/uploads\/2020\/09\/Fluxo_Baseline2-724x1024.jpg 724w, http:\/\/dbtimewizard.com.br\/blog\/wp-content\/uploads\/2020\/09\/Fluxo_Baseline2-212x300.jpg 212w, http:\/\/dbtimewizard.com.br\/blog\/wp-content\/uploads\/2020\/09\/Fluxo_Baseline2.jpg 1240w\" sizes=\"auto, (max-width: 724px) 100vw, 724px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Para ajudar no entendimento de como funcionam as BASELINES vamos realizar uma simula\u00e7\u00e3o do processo de inclus\u00e3o e evolu\u00e7\u00e3o dos planos de execu\u00e7\u00e3o de uma instru\u00e7\u00e3o SQL sob o controle do recurso SQL PLAN MANAGEMENT:<\/span><\/p>\n<p><strong><span style=\"font-size: 12pt;\">01) Habilitar o uso do SQL PLAN MANAGEMENT <\/span><\/strong><br \/>\n<strong><span style=\"font-size: 12pt;\">02) Executar uma consulta com SPM habilitado<\/span><\/strong><br \/>\n<strong><span style=\"font-size: 12pt;\">03) Verificar o plano de execu\u00e7\u00e3o na SQL PLAN BASELINE<\/span><\/strong><br \/>\n<strong><span style=\"font-size: 12pt;\">04) Executar a consulta novamente usando a BASELINE<\/span><\/strong><br \/>\n<strong><span style=\"font-size: 12pt;\">05) Criar um \u00edndice para melhorar o desempenho da consulta<\/span><\/strong><br \/>\n<strong><span style=\"font-size: 12pt;\">06) Verificar se a consulta vai usar o \u00edndice<\/span><\/strong><br \/>\n<strong><span style=\"font-size: 12pt;\">07) Verificar exist\u00eancia de mais um plano na BASELINE<\/span><\/strong><br \/>\n<strong><span style=\"font-size: 12pt;\">08) Verificar qual plano ser\u00e1 utilizado numa nova execu\u00e7\u00e3o<\/span><\/strong><br \/>\n<strong><span style=\"font-size: 12pt;\">09) Executar o procedimento de evolu\u00e7\u00e3o do SPM<\/span><\/strong><br \/>\n<strong><span style=\"font-size: 12pt;\">10) Executar a consulta novamente com o novo plano<\/span><\/strong><br \/>\n<strong><span style=\"font-size: 12pt;\">11) Eliminar a BASELINE criada<\/span><\/strong><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-size: 14pt;\">01) Habilitar o uso do SQL PLAN MANAGEMENT<\/span><\/h2>\n<p style=\"text-align: left;\"><span style=\"font-size: 12pt;\">Para utilizar o SQL PLAN MANAGEMENT precisamos habilitar o par\u00e2metro OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES.<\/span><\/p>\n<p>&nbsp;<\/p>\n<div class=\"codecolorer-container php default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;width:100%;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 \/><\/div><\/td><td><div class=\"php codecolorer\">SQL <span class=\"sy0\">&gt;<\/span> SELECT BANNER_FULL FROM V<span class=\"re0\">$VERSION<\/span> where rownum <span class=\"sy0\">&lt;<\/span> <span class=\"nu0\">2<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nBANNER_FULL<br \/>\n<span class=\"sy0\">-------------------------------------------------------------------------------<\/span><br \/>\nOracle Database 18c Express Edition Release 18<span class=\"sy0\">.<\/span>0<span class=\"sy0\">.<\/span>0<span class=\"sy0\">.<\/span>0<span class=\"sy0\">.<\/span>0 <span class=\"sy0\">-<\/span> Production<br \/>\nVersion 18<span class=\"sy0\">.<\/span>4<span class=\"sy0\">.<\/span>0<span class=\"sy0\">.<\/span>0<span class=\"sy0\">.<\/span>0<br \/>\n<br \/>\n<br \/>\n<span class=\"nu0\">1<\/span> linha selecionada<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> SHOW PARAMETER OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES<br \/>\n<br \/>\nNAME &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TYPE &nbsp; &nbsp; &nbsp; &nbsp;VALUE<br \/>\n<span class=\"sy0\">------------------------------------<\/span> <span class=\"sy0\">-----------<\/span> <span class=\"sy0\">------------------------------<\/span><br \/>\noptimizer_capture_sql_plan_baselines boolean &nbsp; &nbsp; <span class=\"kw4\">FALSE<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> ALTER <a href=\"http:\/\/www.php.net\/system\"><span class=\"kw3\">SYSTEM<\/span><\/a> SET OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES<span class=\"sy0\">=<\/span><span class=\"kw4\">TRUE<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nSistema alterado<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-size: 14pt;\">02) Executar uma consulta com SPM habilitado<\/span><\/h2>\n<p>&nbsp;<\/p>\n<div class=\"codecolorer-container php default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;width:100%;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 \/><\/div><\/td><td><div class=\"php codecolorer\">SQL <span class=\"sy0\">&gt;<\/span> set tab off<span class=\"sy0\">;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> ALTER SESSION SET statistics_level<span class=\"sy0\">=<\/span>ALL<span class=\"sy0\">;<\/span><br \/>\n<br \/>\nSess\u00e3o alterada<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span> ALTER SESSION SET current_schema<span class=\"sy0\">=<\/span>SH<span class=\"sy0\">;<\/span><br \/>\n<br \/>\nSess\u00e3o alterada<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> SELECT <span class=\"coMULTI\">\/* dbtw-066 *\/<\/span><br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp; &nbsp; &nbsp; c<span class=\"sy0\">.<\/span>cust_id<span class=\"sy0\">,<\/span> c<span class=\"sy0\">.<\/span>cust_first_name<span class=\"sy0\">,<\/span> c<span class=\"sy0\">.<\/span>cust_last_name<br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp; &nbsp;FROM sh<span class=\"sy0\">.<\/span>customers c<br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; WHERE c<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&gt;=<\/span><span class=\"nu0\">100<\/span><br \/>\n&nbsp; <span class=\"nu0\">5<\/span> &nbsp; &nbsp; AND c<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">400<\/span><br \/>\n&nbsp; <span class=\"nu0\">6<\/span> &nbsp; &nbsp; AND c<span class=\"sy0\">.<\/span>cust_last_name like <span class=\"st_h\">'Her%'<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp;CUST_ID CUST_FIRST_NAME &nbsp; &nbsp; &nbsp;CUST_LAST_NAME<br \/>\n<span class=\"sy0\">----------<\/span> <span class=\"sy0\">--------------------<\/span> <span class=\"sy0\">----------------------------------------<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">167<\/span> Eve &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Herd<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">161<\/span> Linda &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Hermann<br \/>\n<br \/>\n<span class=\"nu0\">2<\/span> linhas selecionadas<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> column sql_id new_value m_sql_id<br \/>\nSQL <span class=\"sy0\">&gt;<\/span> column child_number new_value m_child_no<br \/>\nSQL <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\">'%dbtw-066%'<\/span><br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; &nbsp; AND sql_text NOT LIKE <span class=\"st_h\">'%sql_text%'<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nSQL_ID &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CHILD_NUMBER<br \/>\n<span class=\"sy0\">----------------<\/span> <span class=\"sy0\">------------<\/span><br \/>\n1xj5b63mpbz67 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">0<\/span><br \/>\n<br \/>\n<span class=\"nu0\">1<\/span> linha selecionada<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <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\">'typical iostats 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;1xj5b63mpbz67<span class=\"sy0\">,<\/span> child number <span class=\"nu0\">0<\/span><br \/>\n<span class=\"sy0\">-------------------------------------<\/span><br \/>\nSELECT <span class=\"coMULTI\">\/* dbtw-066 *\/<\/span> &nbsp; &nbsp; &nbsp; &nbsp;c<span class=\"sy0\">.<\/span>cust_id<span class=\"sy0\">,<\/span> c<span class=\"sy0\">.<\/span>cust_first_name<span class=\"sy0\">,<\/span><br \/>\nc<span class=\"sy0\">.<\/span>cust_last_name &nbsp; FROM sh<span class=\"sy0\">.<\/span>customers c &nbsp;WHERE c<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&gt;=<\/span><span class=\"nu0\">100<\/span> &nbsp; &nbsp;AND<br \/>\nc<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">400<\/span> &nbsp; &nbsp;AND c<span class=\"sy0\">.<\/span>cust_last_name like <span class=\"st_h\">'Her%'<\/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\">2008213504<\/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; <span class=\"sy0\">|<\/span> Name &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> Starts <span class=\"sy0\">|<\/span> E<span class=\"sy0\">-<\/span>Rows <span class=\"sy0\">|<\/span>E<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> E<span class=\"sy0\">-<\/span><a href=\"http:\/\/www.php.net\/time\"><span class=\"kw3\">Time<\/span><\/a> &nbsp; <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><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;<span class=\"sy0\">|<\/span> &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; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">95<\/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> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">2<\/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.01<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">1520<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|*<\/span> &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp;TABLE ACCESS FULL<span class=\"sy0\">|<\/span> CUSTOMERS <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">20<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">95<\/span> &nbsp;<span class=\"br0\">&#40;<\/span><span class=\"nu0\">24<\/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> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">2<\/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.01<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">1520<\/span> <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\">1<\/span> <span class=\"sy0\">-<\/span> filter<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_ID&quot;<\/span><span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">400<\/span> AND <span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_LAST_NAME&quot;<\/span> LIKE <span class=\"st_h\">'Her%'<\/span> AND <span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_ID&quot;<\/span><span class=\"sy0\">&gt;=<\/span><span class=\"nu0\">100<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\n<br \/>\n<span class=\"nu0\">20<\/span> linhas selecionadas<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <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;\">Observe no plano de execu\u00e7\u00e3o que o Otimizador utilizou a opera\u00e7\u00e3o TABLE ACCESS FULL para acessar a tabela CUSTOMERS do esquema SH. <\/span><\/p>\n<h2><span style=\"font-size: 14pt;\">03) Verificar o plano de execu\u00e7\u00e3o na SQL PLAN BASELINE<\/span><\/h2>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Para obter informa\u00e7\u00f5es sobre as consultas que est\u00e3o sendo gerenciadas pelo SPM basta consultar a vis\u00e3o DBA_SQL_PLAN_BASELINES.<\/span><\/p>\n<p>&nbsp;<\/p>\n<div class=\"codecolorer-container php default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;width:100%;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 \/><\/div><\/td><td><div class=\"php codecolorer\">SQL <span class=\"sy0\">&gt;<\/span> SELECT sql_handle<span class=\"sy0\">,<\/span> plan_name<span class=\"sy0\">,<\/span> enabled<span class=\"sy0\">,<\/span> accepted<br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp;FROM dba_sql_plan_baselines<br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp; WHERE sql_text LIKE <span class=\"st_h\">'%dbtw-066%'<\/span><br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; &nbsp; AND sql_text NOT LIKE <span class=\"st_h\">'%sql_text%'<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nSQL_HANDLE &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PLAN_NAME &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ENA ACC<br \/>\n<span class=\"sy0\">------------------------------<\/span> <span class=\"sy0\">--------------------------------<\/span> <span class=\"sy0\">---<\/span> <span class=\"sy0\">---<\/span><br \/>\nSQL_15042ba17146e187 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SQL_PLAN_1a11bn5sndsc764541f84 &nbsp; YES YES<br \/>\n<br \/>\n<span class=\"nu0\">1<\/span> linha selecionada<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\n<br \/>\n<span class=\"sy0\">==============================================================================================================<\/span><br \/>\n<br \/>\nSET LONG <span class=\"nu0\">10000<\/span><br \/>\n<br \/>\nSELECT <span class=\"sy0\">*<\/span><br \/>\nFROM &nbsp; TABLE<span class=\"br0\">&#40;<\/span>DBMS_XPLAN<span class=\"sy0\">.<\/span>display_sql_plan_baseline<span class=\"br0\">&#40;<\/span>plan_name<span class=\"sy0\">=&gt;<\/span><span class=\"st_h\">'SQL_PLAN_1a11bn5sndsc764541f84'<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n<span class=\"sy0\">==============================================================================================================<\/span><br \/>\n<br \/>\nPLAN_TABLE_OUTPUT<br \/>\n<span class=\"sy0\">----------------------------------------------------------------------------------------------<\/span><br \/>\nSQL handle<span class=\"sy0\">:<\/span> SQL_15042ba17146e187<br \/>\nSQL text<span class=\"sy0\">:<\/span> SELECT <span class=\"coMULTI\">\/* dbtw-066 *\/<\/span> &nbsp; &nbsp; &nbsp; &nbsp;c<span class=\"sy0\">.<\/span>cust_id<span class=\"sy0\">,<\/span> c<span class=\"sy0\">.<\/span>cust_first_name<span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; c<span class=\"sy0\">.<\/span>cust_last_name &nbsp; FROM sh<span class=\"sy0\">.<\/span>customers c &nbsp;WHERE c<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&gt;=<\/span><span class=\"nu0\">100<\/span> &nbsp; &nbsp;AND<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; c<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">400<\/span> &nbsp; &nbsp;AND c<span class=\"sy0\">.<\/span>cust_last_name like <span class=\"st_h\">'Her%'<\/span><br \/>\n<span class=\"sy0\">--------------------------------------------------------------------------------<\/span><br \/>\n<br \/>\n<span class=\"sy0\">--------------------------------------------------------------------------------<\/span><br \/>\nPlan name<span class=\"sy0\">:<\/span> SQL_PLAN_1a11bn5sndsc764541f84 &nbsp; &nbsp; &nbsp; &nbsp; Plan id<span class=\"sy0\">:<\/span> <span class=\"nu0\">1683234692<\/span><br \/>\nEnabled<span class=\"sy0\">:<\/span> YES &nbsp; &nbsp; Fixed<span class=\"sy0\">:<\/span> NO &nbsp; &nbsp; &nbsp;Accepted<span class=\"sy0\">:<\/span> YES &nbsp; &nbsp; Origin<span class=\"sy0\">:<\/span> AUTO<span class=\"sy0\">-<\/span>CAPTURE<br \/>\nPlan rows<span class=\"sy0\">:<\/span> From dictionary<br \/>\n<span class=\"sy0\">--------------------------------------------------------------------------------<\/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\">2008213504<\/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; <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;<span class=\"sy0\">|<\/span> &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\">20<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">95<\/span> &nbsp;<span class=\"br0\">&#40;<\/span><span class=\"nu0\">24<\/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\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp;TABLE ACCESS FULL<span class=\"sy0\">|<\/span> CUSTOMERS <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">20<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">95<\/span> &nbsp;<span class=\"br0\">&#40;<\/span><span class=\"nu0\">24<\/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><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\">1<\/span> <span class=\"sy0\">-<\/span> filter<span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_ID&quot;<\/span><span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">400<\/span> AND <span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_LAST_NAME&quot;<\/span> LIKE <span class=\"st_h\">'Her%'<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; AND <span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_ID&quot;<\/span><span class=\"sy0\">&gt;=<\/span><span class=\"nu0\">100<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\n<span class=\"nu0\">28<\/span> linhas selecionadas<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <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;\">No resultado da consulta podemos verificar que na BASELINE temos uma instru\u00e7\u00e3o SQL sendo gerenciada (SQL_15042ba17146e187) e esta instru\u00e7\u00e3o tem somente um plano de execu\u00e7\u00e3o (SQL_PLAN_1a11bn5sndsc764541f84). Este plano esta habilitado e aceito para ser utilizado na execu\u00e7\u00e3o desta instru\u00e7\u00e3o SQL. <\/span><br \/>\n<span style=\"font-size: 12pt;\">Utilizando o procedure DISPLAY_SQL_PLAN_BASELINE do pacote DBMS_XPLAN podemos conferir que o plano armazenado na BASELINE \u00e9 o mesmo plano que foi utilizado na execu\u00e7\u00e3o da consulta.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-size: 14pt;\"><strong>04) Executar a consulta novamente usando a BASELINE<\/strong><\/span><\/p>\n<p><span style=\"font-size: 12pt;\">Vamos executar a mesma consulta novamente e verificar se a BASELINE ser\u00e1 utilizada.<\/span><br \/>\n&nbsp;<\/p>\n<div class=\"codecolorer-container php default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;width:100%;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 \/><\/div><\/td><td><div class=\"php codecolorer\">SQL <span class=\"sy0\">&gt;<\/span> SELECT <span class=\"coMULTI\">\/* dbtw-066 *\/<\/span><br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp; &nbsp; &nbsp; c<span class=\"sy0\">.<\/span>cust_id<span class=\"sy0\">,<\/span> c<span class=\"sy0\">.<\/span>cust_first_name<span class=\"sy0\">,<\/span> c<span class=\"sy0\">.<\/span>cust_last_name<br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp; &nbsp;FROM sh<span class=\"sy0\">.<\/span>customers c<br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; WHERE c<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&gt;=<\/span><span class=\"nu0\">100<\/span><br \/>\n&nbsp; <span class=\"nu0\">5<\/span> &nbsp; &nbsp; AND c<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">400<\/span><br \/>\n&nbsp; <span class=\"nu0\">6<\/span> &nbsp; &nbsp; AND c<span class=\"sy0\">.<\/span>cust_last_name like <span class=\"st_h\">'Her%'<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp;CUST_ID CUST_FIRST_NAME &nbsp; &nbsp; &nbsp;CUST_LAST_NAME<br \/>\n<span class=\"sy0\">----------<\/span> <span class=\"sy0\">--------------------<\/span> <span class=\"sy0\">----------------------------------------<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">167<\/span> Eve &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Herd<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">161<\/span> Linda &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Hermann<br \/>\n<br \/>\n<span class=\"nu0\">2<\/span> linhas selecionadas<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> column sql_id new_value m_sql_id<br \/>\nSQL <span class=\"sy0\">&gt;<\/span> column child_number new_value m_child_no<br \/>\nSQL <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\">'%dbtw-066%'<\/span><br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; &nbsp; AND sql_text NOT LIKE <span class=\"st_h\">'%sql_text%'<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nSQL_ID &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CHILD_NUMBER<br \/>\n<span class=\"sy0\">----------------<\/span> <span class=\"sy0\">------------<\/span><br \/>\n1xj5b63mpbz67 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">0<\/span><br \/>\n1xj5b63mpbz67 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">1<\/span><br \/>\n<br \/>\n<span class=\"nu0\">2<\/span> linhas selecionadas<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <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\">'typical iostats 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;1xj5b63mpbz67<span class=\"sy0\">,<\/span> child number <span class=\"nu0\">1<\/span><br \/>\n<span class=\"sy0\">-------------------------------------<\/span><br \/>\nSELECT <span class=\"coMULTI\">\/* dbtw-066 *\/<\/span> &nbsp; &nbsp; &nbsp; &nbsp;c<span class=\"sy0\">.<\/span>cust_id<span class=\"sy0\">,<\/span> c<span class=\"sy0\">.<\/span>cust_first_name<span class=\"sy0\">,<\/span><br \/>\nc<span class=\"sy0\">.<\/span>cust_last_name &nbsp; FROM sh<span class=\"sy0\">.<\/span>customers c &nbsp;WHERE c<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&gt;=<\/span><span class=\"nu0\">100<\/span> &nbsp; &nbsp;AND<br \/>\nc<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">400<\/span> &nbsp; &nbsp;AND c<span class=\"sy0\">.<\/span>cust_last_name like <span class=\"st_h\">'Her%'<\/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\">2008213504<\/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; <span class=\"sy0\">|<\/span> Name &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> Starts <span class=\"sy0\">|<\/span> E<span class=\"sy0\">-<\/span>Rows <span class=\"sy0\">|<\/span>E<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> E<span class=\"sy0\">-<\/span><a href=\"http:\/\/www.php.net\/time\"><span class=\"kw3\">Time<\/span><\/a> &nbsp; <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><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;<span class=\"sy0\">|<\/span> &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; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">95<\/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> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">2<\/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.01<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">1520<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|*<\/span> &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp;TABLE ACCESS FULL<span class=\"sy0\">|<\/span> CUSTOMERS <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">20<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">95<\/span> &nbsp;<span class=\"br0\">&#40;<\/span><span class=\"nu0\">24<\/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> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">2<\/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.01<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">1520<\/span> <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\">1<\/span> <span class=\"sy0\">-<\/span> filter<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_ID&quot;<\/span><span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">400<\/span> AND <span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_LAST_NAME&quot;<\/span> LIKE <span class=\"st_h\">'Her%'<\/span> AND <span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_ID&quot;<\/span><span class=\"sy0\">&gt;=<\/span><span class=\"nu0\">100<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\nNote<br \/>\n<span class=\"sy0\">-----<\/span><br \/>\n&nbsp; &nbsp;<span class=\"sy0\">-<\/span> SQL plan baseline SQL_PLAN_1a11bn5sndsc764541f84 used <span class=\"kw1\">for<\/span> this statement<br \/>\n<br \/>\n<br \/>\n<span class=\"nu0\">24<\/span> linhas selecionadas<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <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;\">Observe na se\u00e7\u00e3o NOTE do plano de execu\u00e7\u00e3o que aparece a mensagem: &#8220;SQL plan baseline SQL_PLAN_1a11bn5sndsc764541f84 used for this statement&#8221;. Esta mensagem confirma que o plano de execu\u00e7\u00e3o utilizado foi o que esta na BASELINE.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-size: 14pt;\">05) Criar um \u00edndice para melhorar o desempenho da consulta<\/span><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Como a consulta que estamos executando possui o campo CUST_LAST_NAME no filtro da cl\u00e1usula WHERE e n\u00e3o existe um \u00edndice desta coluna para a tabela CUSTOMERS, vamos criar um \u00edndice neste campo para melhorar o desempenho desta consulta.<\/span><\/p>\n<p>&nbsp;<\/p>\n<div class=\"codecolorer-container php default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;width:100%;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/><\/div><\/td><td><div class=\"php codecolorer\">SQL <span class=\"sy0\">&gt;<\/span> create index sh<span class=\"sy0\">.<\/span>CUST_NAME_IDX on sh<span class=\"sy0\">.<\/span>CUSTOMERS<span class=\"br0\">&#40;<\/span>CUST_LAST_NAME<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n\u00cdndice criado<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-size: 14pt;\">06) Verificar se a consulta vai usar o \u00edndice<\/span><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Ap\u00f3s a cria\u00e7\u00e3o do \u00edndice vamos executar a consulta novamente para verificar se o \u00edndice ser\u00e1 utilizado no plano de execu\u00e7\u00e3o.<\/span><\/p>\n<p>&nbsp;<\/p>\n<div class=\"codecolorer-container php default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;width:100%;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 \/><\/div><\/td><td><div class=\"php codecolorer\">SQL <span class=\"sy0\">&gt;<\/span> SELECT <span class=\"coMULTI\">\/* dbtw-066 *\/<\/span><br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp; &nbsp; &nbsp; c<span class=\"sy0\">.<\/span>cust_id<span class=\"sy0\">,<\/span> c<span class=\"sy0\">.<\/span>cust_first_name<span class=\"sy0\">,<\/span> c<span class=\"sy0\">.<\/span>cust_last_name<br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp; &nbsp;FROM sh<span class=\"sy0\">.<\/span>customers c<br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; WHERE c<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&gt;=<\/span><span class=\"nu0\">100<\/span><br \/>\n&nbsp; <span class=\"nu0\">5<\/span> &nbsp; &nbsp; AND c<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">400<\/span><br \/>\n&nbsp; <span class=\"nu0\">6<\/span> &nbsp; &nbsp; AND c<span class=\"sy0\">.<\/span>cust_last_name like <span class=\"st_h\">'Her%'<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp;CUST_ID CUST_FIRST_NAME &nbsp; &nbsp; &nbsp;CUST_LAST_NAME<br \/>\n<span class=\"sy0\">----------<\/span> <span class=\"sy0\">--------------------<\/span> <span class=\"sy0\">----------------------------------------<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">167<\/span> Eve &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Herd<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">161<\/span> Linda &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Hermann<br \/>\n<br \/>\n<span class=\"nu0\">2<\/span> linhas selecionadas<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> column sql_id new_value m_sql_id<br \/>\nSQL <span class=\"sy0\">&gt;<\/span> column child_number new_value m_child_no<br \/>\nSQL <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\">'%dbtw-066%'<\/span><br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; &nbsp; AND sql_text NOT LIKE <span class=\"st_h\">'%sql_text%'<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nSQL_ID &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CHILD_NUMBER<br \/>\n<span class=\"sy0\">----------------<\/span> <span class=\"sy0\">------------<\/span><br \/>\n1xj5b63mpbz67 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">0<\/span><br \/>\n<br \/>\n<span class=\"nu0\">1<\/span> linha selecionada<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <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\">'typical iostats 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;1xj5b63mpbz67<span class=\"sy0\">,<\/span> child number <span class=\"nu0\">0<\/span><br \/>\n<span class=\"sy0\">-------------------------------------<\/span><br \/>\nSELECT <span class=\"coMULTI\">\/* dbtw-066 *\/<\/span> &nbsp; &nbsp; &nbsp; &nbsp;c<span class=\"sy0\">.<\/span>cust_id<span class=\"sy0\">,<\/span> c<span class=\"sy0\">.<\/span>cust_first_name<span class=\"sy0\">,<\/span><br \/>\nc<span class=\"sy0\">.<\/span>cust_last_name &nbsp; FROM sh<span class=\"sy0\">.<\/span>customers c &nbsp;WHERE c<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&gt;=<\/span><span class=\"nu0\">100<\/span> &nbsp; &nbsp;AND<br \/>\nc<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">400<\/span> &nbsp; &nbsp;AND c<span class=\"sy0\">.<\/span>cust_last_name like <span class=\"st_h\">'Her%'<\/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\">2008213504<\/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; <span class=\"sy0\">|<\/span> Name &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> Starts <span class=\"sy0\">|<\/span> E<span class=\"sy0\">-<\/span>Rows <span class=\"sy0\">|<\/span>E<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> E<span class=\"sy0\">-<\/span><a href=\"http:\/\/www.php.net\/time\"><span class=\"kw3\">Time<\/span><\/a> &nbsp; <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><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;<span class=\"sy0\">|<\/span> &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; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">95<\/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> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">2<\/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.01<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">1520<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|*<\/span> &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp;TABLE ACCESS FULL<span class=\"sy0\">|<\/span> CUSTOMERS <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">20<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">95<\/span> &nbsp;<span class=\"br0\">&#40;<\/span><span class=\"nu0\">24<\/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> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">2<\/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.01<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">1520<\/span> <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\">1<\/span> <span class=\"sy0\">-<\/span> filter<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_ID&quot;<\/span><span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">400<\/span> AND <span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_LAST_NAME&quot;<\/span> LIKE <span class=\"st_h\">'Her%'<\/span> AND <span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_ID&quot;<\/span><span class=\"sy0\">&gt;=<\/span><span class=\"nu0\">100<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\n<br \/>\n<span class=\"nu0\">20<\/span> linhas selecionadas<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <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;\">Observando o plano de execu\u00e7\u00e3o acima, constatamos que o \u00edndice n\u00e3o foi utilizado, o Otimizador continua utilizando o mesmo plano utilizado nas execu\u00e7\u00f5es anteriores. O novo plano com a utiliza\u00e7\u00e3o do \u00edndice n\u00e3o foi utilizado pois o SPM est\u00e1 atuando junto ao Otimizador, ele identificou que existe um novo plano com um CUSTO menor do que aquele que est\u00e1 ACEITO na BASELINE, porem ele n\u00e3o vai utilizar este novo plano at\u00e9 que o seu desempenho seja validado.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-size: 14pt;\">07) Verificar exist\u00eancia de mais um plano na BASELINE<\/span><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Vamos consultar a vis\u00e3o DBA_SQL_PLAN_BASELINES novamente e verificar se realmente o SPM j\u00e1 registrou a exist\u00eancia de um novo plano com a utiliza\u00e7\u00e3o do \u00edndice que criamos anteriormente.<\/span><\/p>\n<p>&nbsp;<\/p>\n<div class=\"codecolorer-container php default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;width:100%;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 \/><\/div><\/td><td><div class=\"php codecolorer\">SQL <span class=\"sy0\">&gt;<\/span> SELECT sql_handle<span class=\"sy0\">,<\/span> plan_name<span class=\"sy0\">,<\/span> enabled<span class=\"sy0\">,<\/span> accepted<br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp;FROM dba_sql_plan_baselines<br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp; WHERE sql_text LIKE <span class=\"st_h\">'%dbtw-066%'<\/span><br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; &nbsp; AND sql_text NOT LIKE <span class=\"st_h\">'%sql_text%'<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nSQL_HANDLE &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PLAN_NAME &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ENA ACC<br \/>\n<span class=\"sy0\">------------------------------<\/span> <span class=\"sy0\">--------------------------------<\/span> <span class=\"sy0\">---<\/span> <span class=\"sy0\">---<\/span><br \/>\nSQL_15042ba17146e187 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SQL_PLAN_1a11bn5sndsc71a248297 &nbsp; YES NO<br \/>\nSQL_15042ba17146e187 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SQL_PLAN_1a11bn5sndsc764541f84 &nbsp; YES YES<br \/>\n<br \/>\n<span class=\"nu0\">2<\/span> linhas selecionadas<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\n<br \/>\n<span class=\"sy0\">==============================================================================================================<\/span><br \/>\n<br \/>\nSET LONG <span class=\"nu0\">10000<\/span><br \/>\n<br \/>\nSELECT <span class=\"sy0\">*<\/span><br \/>\nFROM &nbsp; TABLE<span class=\"br0\">&#40;<\/span>DBMS_XPLAN<span class=\"sy0\">.<\/span>display_sql_plan_baseline<span class=\"br0\">&#40;<\/span>plan_name<span class=\"sy0\">=&gt;<\/span><span class=\"st_h\">'SQL_PLAN_1a11bn5sndsc71a248297'<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n<span class=\"sy0\">==============================================================================================================<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span> SET LONG <span class=\"nu0\">10000<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> SELECT <span class=\"sy0\">*<\/span><br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp;FROM &nbsp; TABLE<span class=\"br0\">&#40;<\/span>DBMS_XPLAN<span class=\"sy0\">.<\/span>display_sql_plan_baseline<span class=\"br0\">&#40;<\/span>plan_name<span class=\"sy0\">=&gt;<\/span><span class=\"st_h\">'SQL_PLAN_1a11bn5sndsc71a248297'<\/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 handle<span class=\"sy0\">:<\/span> SQL_15042ba17146e187<br \/>\nSQL text<span class=\"sy0\">:<\/span> SELECT <span class=\"coMULTI\">\/* dbtw-066 *\/<\/span> &nbsp; &nbsp; &nbsp; &nbsp;c<span class=\"sy0\">.<\/span>cust_id<span class=\"sy0\">,<\/span> c<span class=\"sy0\">.<\/span>cust_first_name<span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; c<span class=\"sy0\">.<\/span>cust_last_name &nbsp; FROM sh<span class=\"sy0\">.<\/span>customers c &nbsp;WHERE c<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&gt;=<\/span><span class=\"nu0\">100<\/span> &nbsp; &nbsp;AND<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; c<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">400<\/span> &nbsp; &nbsp;AND c<span class=\"sy0\">.<\/span>cust_last_name like <span class=\"st_h\">'Her%'<\/span><br \/>\n<span class=\"sy0\">--------------------------------------------------------------------------------<\/span><br \/>\n<br \/>\n<span class=\"sy0\">--------------------------------------------------------------------------------<\/span><br \/>\nPlan name<span class=\"sy0\">:<\/span> SQL_PLAN_1a11bn5sndsc71a248297 &nbsp; &nbsp; &nbsp; &nbsp; Plan id<span class=\"sy0\">:<\/span> <span class=\"nu0\">438600343<\/span><br \/>\nEnabled<span class=\"sy0\">:<\/span> YES &nbsp; &nbsp; Fixed<span class=\"sy0\">:<\/span> NO &nbsp; &nbsp; &nbsp;Accepted<span class=\"sy0\">:<\/span> NO &nbsp; &nbsp; &nbsp;Origin<span class=\"sy0\">:<\/span> AUTO<span class=\"sy0\">-<\/span>CAPTURE<br \/>\nPlan rows<span class=\"sy0\">:<\/span> From dictionary<br \/>\n<span class=\"sy0\">--------------------------------------------------------------------------------<\/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\">203008431<\/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; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> Name &nbsp; &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; &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\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">20<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">6<\/span> &nbsp;<span class=\"br0\">&#40;<\/span><span class=\"nu0\">34<\/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\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp;TABLE ACCESS BY INDEX ROWID BATCHED<span class=\"sy0\">|<\/span> CUSTOMERS &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">20<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">6<\/span> &nbsp;<span class=\"br0\">&#40;<\/span><span class=\"nu0\">34<\/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; BITMAP CONVERSION TO ROWIDS &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\">3<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;BITMAP AND &nbsp; &nbsp; &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\">4<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; BITMAP CONVERSION FROM ROWIDS &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\">5<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> ORDER BY &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\">6<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; INDEX <a href=\"http:\/\/www.php.net\/range\"><span class=\"kw3\">RANGE<\/span><\/a> SCAN &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> CUST_NAME_IDX <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">61<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">2<\/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\">7<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; BITMAP CONVERSION FROM ROWIDS &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\">8<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> ORDER BY &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\">9<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; INDEX <a href=\"http:\/\/www.php.net\/range\"><span class=\"kw3\">RANGE<\/span><\/a> SCAN &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> CUSTOMERS_PK &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">61<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">2<\/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><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\">6<\/span> <span class=\"sy0\">-<\/span> access<span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_LAST_NAME&quot;<\/span> LIKE <span class=\"st_h\">'Her%'<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;filter<span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_LAST_NAME&quot;<\/span> LIKE <span class=\"st_h\">'Her%'<\/span> AND <span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_LAST_NAME&quot;<\/span> LIKE <span class=\"st_h\">'Her%'<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp;<span class=\"nu0\">9<\/span> <span class=\"sy0\">-<\/span> access<span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_ID&quot;<\/span><span class=\"sy0\">&gt;=<\/span><span class=\"nu0\">100<\/span> AND <span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_ID&quot;<\/span><span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">400<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\n<span class=\"nu0\">37<\/span> linhas selecionadas<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <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;\">Verificando o relat\u00f3rio acima podemos constatar que um novo plano (SQL_PLAN_1a11bn5sndsc71a248297) utilizando o \u00edndice foi inserido para a consulta (SQL_15042ba17146e187) e est\u00e1 com o campo ACCEPTED igual NO, por esta raz\u00e3o ele n\u00e3o ser\u00e1 utilizado at\u00e9 que o seu desempenho seja validado e esse campo passe a ser igual a YES.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-size: 14pt;\">08) Verificar qual plano ser\u00e1 utilizado numa nova execu\u00e7\u00e3o<\/span><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Vamos executar a consulta novamente para confirmar que o novo plano de execu\u00e7\u00e3o utilizando o \u00edndice n\u00e3o ser\u00e1 utilizado.<\/span><\/p>\n<p>&nbsp;<\/p>\n<div class=\"codecolorer-container php default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;width:100%;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 \/><\/div><\/td><td><div class=\"php codecolorer\">SQL <span class=\"sy0\">&gt;<\/span> ALTER <a href=\"http:\/\/www.php.net\/system\"><span class=\"kw3\">SYSTEM<\/span><\/a> <a href=\"http:\/\/www.php.net\/flush\"><span class=\"kw3\">FLUSH<\/span><\/a> SHARED_POOL<span class=\"sy0\">;<\/span><br \/>\n<br \/>\nSistema alterado<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> SELECT <span class=\"coMULTI\">\/* dbtw-066 *\/<\/span><br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp; &nbsp; &nbsp; c<span class=\"sy0\">.<\/span>cust_id<span class=\"sy0\">,<\/span> c<span class=\"sy0\">.<\/span>cust_first_name<span class=\"sy0\">,<\/span> c<span class=\"sy0\">.<\/span>cust_last_name<br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp; &nbsp;FROM sh<span class=\"sy0\">.<\/span>customers c<br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; WHERE c<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&gt;=<\/span><span class=\"nu0\">100<\/span><br \/>\n&nbsp; <span class=\"nu0\">5<\/span> &nbsp; &nbsp; AND c<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">400<\/span><br \/>\n&nbsp; <span class=\"nu0\">6<\/span> &nbsp; &nbsp; AND c<span class=\"sy0\">.<\/span>cust_last_name like <span class=\"st_h\">'Her%'<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp;CUST_ID CUST_FIRST_NAME &nbsp; &nbsp; &nbsp;CUST_LAST_NAME<br \/>\n<span class=\"sy0\">----------<\/span> <span class=\"sy0\">--------------------<\/span> <span class=\"sy0\">----------------------------------------<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">167<\/span> Eve &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Herd<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">161<\/span> Linda &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Hermann<br \/>\n<br \/>\n<span class=\"nu0\">2<\/span> linhas selecionadas<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> column sql_id new_value m_sql_id<br \/>\nSQL <span class=\"sy0\">&gt;<\/span> column child_number new_value m_child_no<br \/>\nSQL <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\">'%dbtw-066%'<\/span><br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; &nbsp; AND sql_text NOT LIKE <span class=\"st_h\">'%sql_text%'<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nSQL_ID &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CHILD_NUMBER<br \/>\n<span class=\"sy0\">----------------<\/span> <span class=\"sy0\">------------<\/span><br \/>\n1xj5b63mpbz67 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">1<\/span><br \/>\n<br \/>\n<span class=\"nu0\">1<\/span> linha selecionada<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <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\">'typical iostats 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;1xj5b63mpbz67<span class=\"sy0\">,<\/span> child number <span class=\"nu0\">1<\/span><br \/>\n<span class=\"sy0\">-------------------------------------<\/span><br \/>\nSELECT <span class=\"coMULTI\">\/* dbtw-066 *\/<\/span> &nbsp; &nbsp; &nbsp; &nbsp;c<span class=\"sy0\">.<\/span>cust_id<span class=\"sy0\">,<\/span> c<span class=\"sy0\">.<\/span>cust_first_name<span class=\"sy0\">,<\/span><br \/>\nc<span class=\"sy0\">.<\/span>cust_last_name &nbsp; FROM sh<span class=\"sy0\">.<\/span>customers c &nbsp;WHERE c<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&gt;=<\/span><span class=\"nu0\">100<\/span> &nbsp; &nbsp;AND<br \/>\nc<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">400<\/span> &nbsp; &nbsp;AND c<span class=\"sy0\">.<\/span>cust_last_name like <span class=\"st_h\">'Her%'<\/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\">2008213504<\/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; <span class=\"sy0\">|<\/span> Name &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> Starts <span class=\"sy0\">|<\/span> E<span class=\"sy0\">-<\/span>Rows <span class=\"sy0\">|<\/span>E<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> E<span class=\"sy0\">-<\/span><a href=\"http:\/\/www.php.net\/time\"><span class=\"kw3\">Time<\/span><\/a> &nbsp; <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><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;<span class=\"sy0\">|<\/span> &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; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">95<\/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> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">2<\/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.01<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">1520<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|*<\/span> &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp;TABLE ACCESS FULL<span class=\"sy0\">|<\/span> CUSTOMERS <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">20<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">95<\/span> &nbsp;<span class=\"br0\">&#40;<\/span><span class=\"nu0\">24<\/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> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">2<\/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.01<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">1520<\/span> <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\">1<\/span> <span class=\"sy0\">-<\/span> filter<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_ID&quot;<\/span><span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">400<\/span> AND <span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_LAST_NAME&quot;<\/span> LIKE <span class=\"st_h\">'Her%'<\/span> AND <span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_ID&quot;<\/span><span class=\"sy0\">&gt;=<\/span><span class=\"nu0\">100<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\nNote<br \/>\n<span class=\"sy0\">-----<\/span><br \/>\n&nbsp; &nbsp;<span class=\"sy0\">-<\/span> SQL plan baseline SQL_PLAN_1a11bn5sndsc764541f84 used <span class=\"kw1\">for<\/span> this statement<br \/>\n<br \/>\n<br \/>\n<span class=\"nu0\">24<\/span> linhas selecionadas<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <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;\">Observe na se\u00e7\u00e3o NOTE do plano de execu\u00e7\u00e3o que aparece a mensagem: &#8220;SQL plan baseline SQL_PLAN_1a11bn5sndsc764541f84 used for this statement&#8221;. Esta mensagem confirma que o plano de execu\u00e7\u00e3o utilizado foi aquele que acessa a tabela CUSTOMERS usando opera\u00e7\u00e3o TABLE ACCESS FULL.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-size: 14pt;\">09) Executar o procedimento de evolu\u00e7\u00e3o do SPM<\/span><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Ao habilitar o gerenciamento dos planos de execu\u00e7\u00e3o utilizando o SPM garantimos que nenhum plano de execu\u00e7\u00e3o ser\u00e1 substitu\u00eddo por outro sem que antes o Oracle verifique se o desempenho deste novo plano \u00e9 melhor que aqueles j\u00e1 utilizados, este mecanismo impede a regress\u00e3o de desempenho na execu\u00e7\u00e3o das instru\u00e7\u00f5es SQL, para evoluir o plano da nossa consulta vamos executar a procedure EVOLVE_SQL_PLAN_BASELINE do pacote DBMS_SPM.<\/span><\/p>\n<p>&nbsp;<\/p>\n<div class=\"codecolorer-container php default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;width:100%;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 \/>98<br \/>99<br \/>100<br \/>101<br \/>102<br \/>103<br \/>104<br \/>105<br \/>106<br \/>107<br \/>108<br \/>109<br \/>110<br \/>111<br \/>112<br \/>113<br \/>114<br \/>115<br \/>116<br \/>117<br \/>118<br \/>119<br \/>120<br \/>121<br \/>122<br \/>123<br \/>124<br \/>125<br \/>126<br \/>127<br \/>128<br \/>129<br \/>130<br \/>131<br \/>132<br \/>133<br \/>134<br \/>135<br \/>136<br \/>137<br \/><\/div><\/td><td><div class=\"php codecolorer\">SQL <span class=\"sy0\">&gt;<\/span> SET SERVEROUTPUT ON TAB OFF<br \/>\nSQL <span class=\"sy0\">&gt;<\/span> SET LONG <span class=\"nu0\">10000<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> <span class=\"kw2\">DECLARE<\/span><br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp; report clob<span class=\"sy0\">;<\/span><br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp;BEGIN<br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; &nbsp; report <span class=\"sy0\">:=<\/span> dbms_spm<span class=\"sy0\">.<\/span>evolve_sql_plan_baseline<span class=\"br0\">&#40;<\/span><span class=\"st_h\">'SQL_15042ba17146e187'<\/span><span class=\"sy0\">,<\/span><span class=\"st_h\">'SQL_PLAN_1a11bn5sndsc71a248297'<\/span><span class=\"sy0\">,<\/span>VERIFY<span class=\"sy0\">=&gt;<\/span><span class=\"st_h\">'YES'<\/span><span class=\"sy0\">,<\/span>COMMIT<span class=\"sy0\">=&gt;<\/span><span class=\"st_h\">'YES'<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; <span class=\"nu0\">5<\/span> &nbsp; &nbsp; DBMS_OUTPUT<span class=\"sy0\">.<\/span>PUT_LINE<span class=\"br0\">&#40;<\/span>report<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; <span class=\"nu0\">6<\/span> &nbsp;<a href=\"http:\/\/www.php.net\/end\"><span class=\"kw3\">END<\/span><\/a><span class=\"sy0\">;<\/span><br \/>\n&nbsp; <span class=\"nu0\">7<\/span> &nbsp;<span class=\"sy0\">\/<\/span><br \/>\nGENERAL INFORMATION SECTION<br \/>\n<span class=\"sy0\">---------------------------------------------------------------------------------------------<\/span><br \/>\n<br \/>\n&nbsp;Task Information<span class=\"sy0\">:<\/span><br \/>\n<br \/>\n<span class=\"sy0\">---------------------------------------------<\/span><br \/>\n&nbsp;Task Name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">:<\/span> TAREFA_171<br \/>\n&nbsp;Task Owner &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">:<\/span> <a href=\"http:\/\/www.php.net\/system\"><span class=\"kw3\">SYSTEM<\/span><\/a><br \/>\n&nbsp;Execution Name &nbsp; &nbsp; &nbsp; <span class=\"sy0\">:<\/span> EXEC_951<br \/>\n&nbsp;Execution Type &nbsp; &nbsp; &nbsp; <span class=\"sy0\">:<\/span> SPM EVOLVE<br \/>\n&nbsp;Scope &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">:<\/span> COMPREHENSIVE<br \/>\n&nbsp;Status &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">:<\/span> COMPLETED<br \/>\n&nbsp;Started &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">:<\/span> <span class=\"nu19\">09<\/span><span class=\"sy0\">\/<\/span><span class=\"nu0\">14<\/span><span class=\"sy0\">\/<\/span><span class=\"nu0\">2020<\/span> <span class=\"nu0\">20<\/span><span class=\"sy0\">:<\/span><span class=\"nu8\">05<\/span><span class=\"sy0\">:<\/span><span class=\"nu0\">17<\/span><br \/>\n&nbsp;Finished &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">:<\/span> <span class=\"nu19\">09<\/span><span class=\"sy0\">\/<\/span><span class=\"nu0\">14<\/span><span class=\"sy0\">\/<\/span><span class=\"nu0\">2020<\/span> <span class=\"nu0\">20<\/span><span class=\"sy0\">:<\/span><span class=\"nu8\">05<\/span><span class=\"sy0\">:<\/span><span class=\"nu0\">17<\/span><br \/>\n&nbsp;Last Updated &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">:<\/span> <span class=\"nu19\">09<\/span><span class=\"sy0\">\/<\/span><span class=\"nu0\">14<\/span><span class=\"sy0\">\/<\/span><span class=\"nu0\">2020<\/span> <span class=\"nu0\">20<\/span><span class=\"sy0\">:<\/span><span class=\"nu8\">05<\/span><span class=\"sy0\">:<\/span><span class=\"nu0\">17<\/span><br \/>\n&nbsp;<span class=\"kw2\">Global<\/span> <a href=\"http:\/\/www.php.net\/time\"><span class=\"kw3\">Time<\/span><\/a> Limit &nbsp; &nbsp;<span class=\"sy0\">:<\/span> <span class=\"nu0\">2147483646<\/span><br \/>\n&nbsp;Per<span class=\"sy0\">-<\/span>Plan <a href=\"http:\/\/www.php.net\/time\"><span class=\"kw3\">Time<\/span><\/a> Limit &nbsp;<span class=\"sy0\">:<\/span> UNUSED<br \/>\n&nbsp;Number of Errors &nbsp; &nbsp; <span class=\"sy0\">:<\/span> <span class=\"nu0\">0<\/span><br \/>\n<br \/>\n<span class=\"sy0\">---------------------------------------------------------------------------------------------<\/span><br \/>\n<br \/>\nSUMMARY<br \/>\nSECTION<br \/>\n<span class=\"sy0\">---------------------------------------------------------------------------------------------<\/span><br \/>\n&nbsp; Number of plans processed &nbsp;<span class=\"sy0\">:<\/span> <span class=\"nu0\">1<\/span><br \/>\n&nbsp; Number of findings &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">:<\/span> <span class=\"nu0\">2<\/span><br \/>\n&nbsp; Number of recommendations &nbsp;<span class=\"sy0\">:<\/span> <span class=\"nu0\">1<\/span><br \/>\n&nbsp; Number of errors &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">:<\/span> <span class=\"nu0\">0<\/span><br \/>\n<span class=\"sy0\">---------------------------------------------------------------------------------------------<\/span><br \/>\n<br \/>\nDETAILS<br \/>\nSECTION<br \/>\n<span class=\"sy0\">---------------------------------------------------------------------------------------------<\/span><br \/>\n&nbsp;Object ID &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">:<\/span> <span class=\"nu0\">2<\/span><br \/>\n&nbsp;Test Plan Name &nbsp; &nbsp; <span class=\"sy0\">:<\/span> SQL_PLAN_1a11bn5sndsc71a248297<br \/>\n&nbsp;Base Plan Name &nbsp; &nbsp; <span class=\"sy0\">:<\/span> SQL_PLAN_1a11bn5sndsc764541f84<br \/>\n&nbsp;SQL Handle &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">:<\/span> SQL_15042ba17146e187<br \/>\n&nbsp;Parsing Schema &nbsp; &nbsp; <span class=\"sy0\">:<\/span> SH<br \/>\n&nbsp;Test Plan Creator &nbsp;<span class=\"sy0\">:<\/span> <a href=\"http:\/\/www.php.net\/system\"><span class=\"kw3\">SYSTEM<\/span><\/a><br \/>\n&nbsp;SQL Text &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">:<\/span> SELECT <span class=\"coMULTI\">\/* dbtw-066 *\/<\/span> c<span class=\"sy0\">.<\/span>cust_id<span class=\"sy0\">,<\/span> c<span class=\"sy0\">.<\/span>cust_first_name<span class=\"sy0\">,<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; c<span class=\"sy0\">.<\/span>cust_last_name FROM sh<span class=\"sy0\">.<\/span>customers c WHERE c<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&gt;=<\/span><span class=\"nu0\">100<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; AND c<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">400<\/span> AND c<span class=\"sy0\">.<\/span>cust_last_name like <span class=\"st_h\">'Her%'<\/span><br \/>\n<br \/>\nExecution Statistics<span class=\"sy0\">:<\/span><br \/>\n<span class=\"sy0\">-----------------------------<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Base Plan &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Test Plan<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">----------------------------<\/span> &nbsp;<span class=\"sy0\">----------------------------<\/span><br \/>\n&nbsp;Elapsed <a href=\"http:\/\/www.php.net\/time\"><span class=\"kw3\">Time<\/span><\/a> <span class=\"br0\">&#40;<\/span>s<span class=\"br0\">&#41;<\/span><span class=\"sy0\">:<\/span> &nbsp;<span class=\"nu19\">.000192<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu19\">.000019<\/span><br \/>\n&nbsp;CPU <a href=\"http:\/\/www.php.net\/time\"><span class=\"kw3\">Time<\/span><\/a> <span class=\"br0\">&#40;<\/span>s<span class=\"br0\">&#41;<\/span><span class=\"sy0\">:<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu19\">.000198<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu19\">.000015<\/span><br \/>\n&nbsp;Buffer Gets<span class=\"sy0\">:<\/span> &nbsp; &nbsp; &nbsp; <span class=\"nu0\">151<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">0<\/span><br \/>\n&nbsp;Optimizer Cost<span class=\"sy0\">:<\/span> &nbsp; &nbsp;<span class=\"nu0\">95<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">6<\/span><br \/>\n&nbsp;Disk Reads<span class=\"sy0\">:<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">0<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">0<\/span><br \/>\n&nbsp;Direct Writes<span class=\"sy0\">:<\/span> &nbsp; &nbsp; <span class=\"nu0\">0<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">0<\/span><br \/>\n&nbsp;Rows Processed<span class=\"sy0\">:<\/span> &nbsp; &nbsp;<span class=\"nu0\">0<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">0<\/span><br \/>\n&nbsp;Executions<span class=\"sy0\">:<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">10<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">10<\/span><br \/>\n<br \/>\n<br \/>\nFINDINGS<br \/>\nSECTION<br \/>\n<span class=\"sy0\">---------------------------------------------------------------------------------------------<\/span><br \/>\n<br \/>\nFindings <span class=\"br0\">&#40;<\/span><span class=\"nu0\">2<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">:<\/span><br \/>\n<span class=\"sy0\">-----------------------------<\/span><br \/>\n&nbsp;<span class=\"nu0\">1<\/span><span class=\"sy0\">.<\/span> O plano foi verificado em <span class=\"nu19\">0.03500<\/span> segundos<span class=\"sy0\">.<\/span> Ele passou o crit\u00e9rio de<br \/>\n&nbsp; &nbsp; benef\u00edcio porque seu desempenho verificado foi <span class=\"nu19\">252.55568<\/span> vezes melhor <span class=\"kw1\">do<\/span> que a <span class=\"kw1\">do<\/span> plano base<span class=\"sy0\">.<\/span><br \/>\n&nbsp;<span class=\"nu0\">2<\/span><span class=\"sy0\">.<\/span> O plano foi aceito automaticamente<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nRecommendation<span class=\"sy0\">:<\/span><br \/>\n<span class=\"sy0\">-----------------------------<\/span><br \/>\n&nbsp;Consider accepting the plan<span class=\"sy0\">.<\/span><br \/>\n<br \/>\n<br \/>\n<br \/>\nEXPLAIN PLANS SECTION<br \/>\n<span class=\"sy0\">---------------------------------------------------------------------------------------------<\/span><br \/>\n<br \/>\nBaseline Plan<br \/>\n<span class=\"sy0\">-----------------------------<\/span><br \/>\n&nbsp;Plan Id &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">:<\/span> <span class=\"nu0\">301<\/span><br \/>\n<br \/>\nPlan <a href=\"http:\/\/www.php.net\/hash\"><span class=\"kw3\">Hash<\/span><\/a> Value &nbsp;<span class=\"sy0\">:<\/span> <span class=\"nu0\">1683234692<\/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; <span class=\"sy0\">|<\/span> Name &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> Rows <span class=\"sy0\">|<\/span> Bytes <span class=\"sy0\">|<\/span> Cost <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;<span class=\"sy0\">|<\/span> &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\">20<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">95<\/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> <span class=\"sy0\">*<\/span> <span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; TABLE ACCESS FULL <span class=\"sy0\">|<\/span> CUSTOMERS <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">20<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">95<\/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><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<span class=\"sy0\">*<\/span> <span class=\"nu0\">1<\/span> <span class=\"sy0\">-<\/span> filter<span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_ID&quot;<\/span><span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">400<\/span> AND <span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_LAST_NAME&quot;<\/span> LIKE <span class=\"st_h\">'Her%'<\/span> AND <span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_ID&quot;<\/span><span class=\"sy0\">&gt;=<\/span><span class=\"nu0\">100<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\n<br \/>\nTest Plan<br \/>\n<span class=\"sy0\">-----------------------------<\/span><br \/>\n&nbsp;Plan Id &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">:<\/span> <span class=\"nu0\">302<\/span><br \/>\n&nbsp;Plan <a href=\"http:\/\/www.php.net\/hash\"><span class=\"kw3\">Hash<\/span><\/a> Value &nbsp;<span class=\"sy0\">:<\/span> <span class=\"nu0\">438600343<\/span><br \/>\n<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; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> Name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> Rows <span class=\"sy0\">|<\/span> Bytes <span class=\"sy0\">|<\/span> Cost <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; &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\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">20<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">6<\/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\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; TABLE ACCESS BY INDEX ROWID BATCHED <span class=\"sy0\">|<\/span> CUSTOMERS &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">20<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">6<\/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; &nbsp;BITMAP CONVERSION TO ROWIDS &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;<span class=\"sy0\">|<\/span> &nbsp; &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; BITMAP AND &nbsp; &nbsp; &nbsp; &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;<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; &nbsp;BITMAP CONVERSION FROM ROWIDS &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;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">5<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> ORDER BY &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;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> <span class=\"sy0\">*<\/span> <span class=\"nu0\">6<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp;INDEX <a href=\"http:\/\/www.php.net\/range\"><span class=\"kw3\">RANGE<\/span><\/a> SCAN &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> CUST_NAME_IDX <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">2<\/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\">7<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;BITMAP CONVERSION FROM ROWIDS &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;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">8<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> ORDER BY &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;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> <span class=\"sy0\">*<\/span> <span class=\"nu0\">9<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp;INDEX <a href=\"http:\/\/www.php.net\/range\"><span class=\"kw3\">RANGE<\/span><\/a> SCAN &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> CUSTOMERS_PK &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">2<\/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><br \/>\n<br \/>\nPredicate Information<br \/>\n<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<span class=\"sy0\">*<\/span> <span class=\"nu0\">6<\/span> <span class=\"sy0\">-<\/span> access<span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_LAST_NAME&quot;<\/span> LIKE <span class=\"st_h\">'Her%'<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<span class=\"sy0\">*<\/span> <span class=\"nu0\">6<\/span> <span class=\"sy0\">-<\/span> filter<span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_LAST_NAME&quot;<\/span> LIKE <span class=\"st_h\">'Her%'<\/span> AND <span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_LAST_NAME&quot;<\/span> LIKE <span class=\"st_h\">'Her%'<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<span class=\"sy0\">*<\/span> <span class=\"nu0\">9<\/span> <span class=\"sy0\">-<\/span> access<span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_ID&quot;<\/span><span class=\"sy0\">&gt;=<\/span><span class=\"nu0\">100<\/span> AND <span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_ID&quot;<\/span><span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">400<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\n<span class=\"sy0\">---------------------------------------------------------------------------------------------<\/span><br \/>\n<br \/>\nProcedimento PL<span class=\"sy0\">\/<\/span>SQL conclu\u00ed<span class=\"kw1\">do<\/span> com sucesso<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <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;\">Observe no relat\u00f3rio na se\u00e7\u00e3o EXECUTION STATISTICS que o SPM simula a execu\u00e7\u00e3o do plano n\u00e3o aceito e compara as estat\u00edsticas de desempenho dos dois planos, o que estava ACEITO na BASELINE e o novo plano. Na sequ\u00eancia temos a se\u00e7\u00e3o FINDINGS onde o SPM indica que o novo plano foi aceito.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-size: 14pt;\">10) Executar a consulta novamente com o novo plano<\/span><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Vamos executar a consulta novamente e verficar se houve alguma evolu\u00e7\u00e3o no plano de execu\u00e7\u00e3o utilizado pelo Otimizador.<\/span><\/p>\n<p>&nbsp;<\/p>\n<div class=\"codecolorer-container php default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;width:100%;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 \/><\/div><\/td><td><div class=\"php codecolorer\">SQL <span class=\"sy0\">&gt;<\/span> SELECT <span class=\"coMULTI\">\/* dbtw-066 *\/<\/span><br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp; &nbsp; &nbsp; c<span class=\"sy0\">.<\/span>cust_id<span class=\"sy0\">,<\/span> c<span class=\"sy0\">.<\/span>cust_first_name<span class=\"sy0\">,<\/span> c<span class=\"sy0\">.<\/span>cust_last_name<br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp; &nbsp;FROM sh<span class=\"sy0\">.<\/span>customers c<br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; WHERE c<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&gt;=<\/span><span class=\"nu0\">100<\/span><br \/>\n&nbsp; <span class=\"nu0\">5<\/span> &nbsp; &nbsp; AND c<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">400<\/span><br \/>\n&nbsp; <span class=\"nu0\">6<\/span> &nbsp; &nbsp; AND c<span class=\"sy0\">.<\/span>cust_last_name like <span class=\"st_h\">'Her%'<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp;CUST_ID CUST_FIRST_NAME &nbsp; &nbsp; &nbsp;CUST_LAST_NAME<br \/>\n<span class=\"sy0\">----------<\/span> <span class=\"sy0\">--------------------<\/span> <span class=\"sy0\">----------------------------------------<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">167<\/span> Eve &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Herd<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">161<\/span> Linda &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Hermann<br \/>\n<br \/>\n<span class=\"nu0\">2<\/span> linhas selecionadas<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> column sql_id new_value m_sql_id<br \/>\nSQL <span class=\"sy0\">&gt;<\/span> column child_number new_value m_child_no<br \/>\nSQL <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\">'%dbtw-066%'<\/span><br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; &nbsp; AND sql_text NOT LIKE <span class=\"st_h\">'%sql_text%'<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nSQL_ID &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CHILD_NUMBER<br \/>\n<span class=\"sy0\">----------------<\/span> <span class=\"sy0\">------------<\/span><br \/>\n1xj5b63mpbz67 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">0<\/span><br \/>\n<br \/>\n<span class=\"nu0\">1<\/span> linha selecionada<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <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\">'typical iostats 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;1xj5b63mpbz67<span class=\"sy0\">,<\/span> child number <span class=\"nu0\">0<\/span><br \/>\n<span class=\"sy0\">-------------------------------------<\/span><br \/>\nSELECT <span class=\"coMULTI\">\/* dbtw-066 *\/<\/span> &nbsp; &nbsp; &nbsp; &nbsp;c<span class=\"sy0\">.<\/span>cust_id<span class=\"sy0\">,<\/span> c<span class=\"sy0\">.<\/span>cust_first_name<span class=\"sy0\">,<\/span><br \/>\nc<span class=\"sy0\">.<\/span>cust_last_name &nbsp; FROM sh<span class=\"sy0\">.<\/span>customers c &nbsp;WHERE c<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&gt;=<\/span><span class=\"nu0\">100<\/span> &nbsp; &nbsp;AND<br \/>\nc<span class=\"sy0\">.<\/span>cust_id <span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">400<\/span> &nbsp; &nbsp;AND c<span class=\"sy0\">.<\/span>cust_last_name like <span class=\"st_h\">'Her%'<\/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\">203008431<\/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; &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>E<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> E<span class=\"sy0\">-<\/span><a href=\"http:\/\/www.php.net\/time\"><span class=\"kw3\">Time<\/span><\/a> &nbsp; <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><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; &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; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">6<\/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> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">2<\/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.01<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"nu0\">6<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp;TABLE ACCESS BY INDEX ROWID BATCHED<span class=\"sy0\">|<\/span> CUSTOMERS &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">20<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">6<\/span> &nbsp;<span class=\"br0\">&#40;<\/span><span class=\"nu0\">34<\/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> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">2<\/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.01<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"nu0\">6<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">2<\/span> <span class=\"sy0\">|<\/span> &nbsp; BITMAP CONVERSION TO ROWIDS &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; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">2<\/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.01<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"nu0\">4<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">3<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;BITMAP AND &nbsp; &nbsp; &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=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &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> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/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.01<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"nu0\">4<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">4<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; BITMAP CONVERSION FROM ROWIDS &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; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/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.01<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"nu0\">2<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">5<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> ORDER BY &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=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &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> &nbsp; &nbsp; <span class=\"nu0\">82<\/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.01<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"nu0\">2<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|*<\/span> &nbsp;<span class=\"nu0\">6<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; INDEX <a href=\"http:\/\/www.php.net\/range\"><span class=\"kw3\">RANGE<\/span><\/a> SCAN &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> CUST_NAME_IDX <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">61<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">2<\/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> &nbsp; &nbsp; <span class=\"nu0\">82<\/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.01<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"nu0\">2<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">7<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; BITMAP CONVERSION FROM ROWIDS &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; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/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.01<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"nu0\">2<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">8<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/sort\"><span class=\"kw3\">SORT<\/span><\/a> ORDER BY &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=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &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> &nbsp; &nbsp;<span class=\"nu0\">301<\/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.01<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"nu0\">2<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|*<\/span> &nbsp;<span class=\"nu0\">9<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; INDEX <a href=\"http:\/\/www.php.net\/range\"><span class=\"kw3\">RANGE<\/span><\/a> SCAN &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> CUSTOMERS_PK &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">61<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; <span class=\"nu0\">2<\/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> &nbsp; &nbsp;<span class=\"nu0\">301<\/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.01<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; <span class=\"nu0\">2<\/span> <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\">6<\/span> <span class=\"sy0\">-<\/span> access<span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_LAST_NAME&quot;<\/span> LIKE <span class=\"st_h\">'Her%'<\/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;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_LAST_NAME&quot;<\/span> LIKE <span class=\"st_h\">'Her%'<\/span> AND <span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_LAST_NAME&quot;<\/span> LIKE <span class=\"st_h\">'Her%'<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp;<span class=\"nu0\">9<\/span> <span class=\"sy0\">-<\/span> access<span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_ID&quot;<\/span><span class=\"sy0\">&gt;=<\/span><span class=\"nu0\">100<\/span> AND <span class=\"st0\">&quot;C&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;CUST_ID&quot;<\/span><span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">400<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\nNote<br \/>\n<span class=\"sy0\">-----<\/span><br \/>\n&nbsp; &nbsp;<span class=\"sy0\">-<\/span> SQL plan baseline SQL_PLAN_1a11bn5sndsc71a248297 used <span class=\"kw1\">for<\/span> this statement<br \/>\n<br \/>\n<br \/>\n<span class=\"nu0\">34<\/span> linhas selecionadas<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <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 de execu\u00e7\u00e3o constatamos que o \u00edndice CUST_NAME_IDX criado na etapa 05 foi utilizado, este plano de execu\u00e7\u00e3o utilizando \u00edndice \u00e9 muito mais eficiente, o plano que fazia FULL SCAN na tabela CUSTOMERS estava lendo 1.520 Buffers, o novo plano leu somente 6 Buffers na Memoria do banco.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-size: 14pt;\">11) Eliminar a BASELINE criada<\/span><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Vamos eliminar a BASELINE e o \u00cdNDICE para deixar o esquema SH como estava antes da simula\u00e7\u00e3o.<\/span><\/p>\n<p>&nbsp;<\/p>\n<div class=\"codecolorer-container php default codecolorer-noborder\" style=\"overflow:auto;white-space:nowrap;width:100%;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 \/><\/div><\/td><td><div class=\"php codecolorer\">SQL <span class=\"sy0\">&gt;<\/span> SET SERVEROUTPUT ON<br \/>\nSQL <span class=\"sy0\">&gt;<\/span> <span class=\"kw2\">DECLARE<\/span><br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp;l_plans_dropped &nbsp;PLS_INTEGER<span class=\"sy0\">;<\/span><br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp;BEGIN<br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; &nbsp;l_plans_dropped <span class=\"sy0\">:=<\/span> DBMS_SPM<span class=\"sy0\">.<\/span>drop_sql_plan_baseline <span class=\"br0\">&#40;<\/span><br \/>\n&nbsp; <span class=\"nu0\">5<\/span> &nbsp; &nbsp; &nbsp;sql_handle <span class=\"sy0\">=&gt;<\/span> <span class=\"st_h\">'SQL_15042ba17146e187'<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; <span class=\"nu0\">6<\/span><br \/>\n&nbsp; <span class=\"nu0\">7<\/span> &nbsp; &nbsp;DBMS_OUTPUT<span class=\"sy0\">.<\/span>put_line<span class=\"br0\">&#40;<\/span>l_plans_dropped<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; <span class=\"nu0\">8<\/span> &nbsp;<a href=\"http:\/\/www.php.net\/end\"><span class=\"kw3\">END<\/span><\/a><span class=\"sy0\">;<\/span><br \/>\n&nbsp; <span class=\"nu0\">9<\/span> &nbsp;<span class=\"sy0\">\/<\/span><br \/>\n<span class=\"nu0\">2<\/span><br \/>\n<br \/>\nProcedimento PL<span class=\"sy0\">\/<\/span>SQL conclu\u00ed<span class=\"kw1\">do<\/span> com sucesso<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> drop index sh<span class=\"sy0\">.<\/span>CUST_NAME_IDX<span class=\"sy0\">;<\/span><br \/>\n<br \/>\n\u00cdndice eliminado<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-size: 14pt;\">Refer\u00eancias<\/span><\/h2>\n<p>&nbsp;<\/p>\n<p><strong><span style=\"font-size: 12pt;\"><a href=\"https:\/\/docs.oracle.com\/en\/database\/oracle\/oracle-database\/19\/tgsql\/overview-of-sql-plan-management.html#GUID-E24924CE-81F3-41DF-8469-9BBA8C386E47\" target=\"_blank\">https:\/\/docs.oracle.com\/en\/database\/oracle\/oracle-database\/19\/tgsql\/overview-of-sql-plan-management.html<\/a><\/span><\/strong><\/p>\n<p>&nbsp;<br \/>\n&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\/2018\/10\/promo_cur02.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;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Voc\u00ea j\u00e1 ouviu algu\u00e9m dizer: Minha aplica\u00e7\u00e3o ficou lenta e nada foi alterado. Este problema relativamente comum pode ser evitado se voc\u00ea implementar no banco Oracle o recurso SQL PLAN MANAGEMENT (SPM), este recurso esta dispon\u00edvel a partir vers\u00e3o 11G e n\u00e3o\u00a0requer a licen\u00e7a das Options Diagnostic &amp; Tuning Pack. Basicamente\u00a0o SPM \u00e9 um mecanismo preventivo que permite ao Otimizador<\/p>\n","protected":false},"author":2,"featured_media":2214,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[156],"tags":[241,240,82,10,242,136,157],"class_list":["post-2213","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sql-plan-management","tag-display_sql_plan_baseline","tag-evolve_sql_plan_baseline","tag-optimizer","tag-otimizador","tag-plan-stability","tag-sql-plan-baseline","tag-sql-plan-management"],"aioseo_notices":[],"_links":{"self":[{"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/posts\/2213","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=2213"}],"version-history":[{"count":15,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/posts\/2213\/revisions"}],"predecessor-version":[{"id":2237,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/posts\/2213\/revisions\/2237"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/media\/2214"}],"wp:attachment":[{"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/media?parent=2213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/categories?post=2213"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/tags?post=2213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}