{"id":2026,"date":"2019-08-11T22:55:19","date_gmt":"2019-08-12T01:55:19","guid":{"rendered":"http:\/\/dbtimewizard.com.br\/blog\/?p=2026"},"modified":"2019-11-11T18:29:57","modified_gmt":"2019-11-11T21:29:57","slug":"datatype-numerico-e-caracter-sera-que-existem-outros","status":"publish","type":"post","link":"http:\/\/dbtimewizard.com.br\/blog\/datatype-numerico-e-caracter-sera-que-existem-outros\/","title":{"rendered":"Datatype num\u00e9rico e car\u00e1cter, ser\u00e1 que existem outros?"},"content":{"rendered":"<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Algumas pessoas v\u00e3o ler o t\u00edtulo deste artigo e pensar que ele foi feito para leigos em tecnologia da informa\u00e7\u00e3o, mas quem trabalha com banco de dados sabe que muitas aplica\u00e7\u00f5es que existem no mercado utilizam somente os Datatypes num\u00e9rico e car\u00e1cter, esta pr\u00e1tica afeta negativamente o desempenho da aplica\u00e7\u00e3o pois o Otimizador n\u00e3o tem como deduzir, por exemplo, que a aplica\u00e7\u00e3o esta usando um campo num\u00e9rico para armazenar datas. <\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Neste artigo vamos simular uma situa\u00e7\u00e3o onde um campo num\u00e9rico \u00e9 carregado com datas e verificar porque o Otimizador fica vendido nesta situa\u00e7\u00e3o e cria um plano de execu\u00e7\u00e3o com baixo desempenho.<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">Para esta simula\u00e7\u00e3o pr\u00e1tica vamos passar pelas seguintes etapas:<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">1) Criar uma tabela onde o campo DT_CAD \u00e9 do tipo num\u00e9rico <\/span><br \/>\n<span style=\"font-size: 12pt;\">2) Executar uma consulta na tabela criada utilizando o campo DT_CAD na cl\u00e1usula WHERE<\/span><br \/>\n<span style=\"font-size: 12pt;\">3) Recriar a tabela da etapa 1 alterando o campo DT_CAD para o tipo DATA<\/span><br \/>\n<span style=\"font-size: 12pt;\">4) Executar a mesma consulta novamente com campo DT_CAD na cl\u00e1usula WHERE<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-size: 14pt;\">1) Criar uma tabela onde o campo DT_CAD \u00e9 num\u00e9rico<\/span><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Vamos criar os objetos necess\u00e1rios para realizar a nossa 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 \/>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 \/><\/div><\/td><td><div class=\"php codecolorer\">SQL <span class=\"sy0\">&gt;<\/span> SELECT <span class=\"sy0\">*<\/span> 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 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CON_ID<br \/>\n<span class=\"sy0\">--------------------------------------------------------------------------------<\/span> <span class=\"sy0\">----------<\/span><br \/>\nOracle Database 12c Enterprise Edition Release 12<span class=\"sy0\">.<\/span>2<span class=\"sy0\">.<\/span>0<span class=\"sy0\">.<\/span>1<span class=\"sy0\">.<\/span>0 <span class=\"sy0\">-<\/span> 64bit Production &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">0<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> CREATE TABLE dbtw061 <span class=\"br0\">&#40;<\/span>matr number<span class=\"sy0\">,<\/span> cod_cid number<span class=\"sy0\">,<\/span> dt_cad number<span class=\"sy0\">,<\/span> descr varchar<span class=\"br0\">&#40;<\/span><span class=\"nu0\">100<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nTabela criada<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> INSERT INTO dbtw061<br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp; SELECT rownum<span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MOD<span class=\"br0\">&#40;<\/span>rownum<span class=\"sy0\">,<\/span><span class=\"nu0\">1000<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TO_NUMBER<span class=\"br0\">&#40;<\/span>TO_CHAR<span class=\"br0\">&#40;<\/span>sysdate<span class=\"sy0\">-<\/span>TRUNC<span class=\"br0\">&#40;<\/span>DBMS_RANDOM<span class=\"sy0\">.<\/span>VALUE<span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span><span class=\"nu0\">10000<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span> <span class=\"st_h\">'YYYYMMDD'<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">5<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;DBMS_RANDOM<span class=\"sy0\">.<\/span>STRING<span class=\"br0\">&#40;<\/span><span class=\"st_h\">'A'<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">100<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; <span class=\"nu0\">6<\/span> &nbsp; &nbsp; &nbsp; FROM dual<br \/>\n&nbsp; <span class=\"nu0\">7<\/span> &nbsp; &nbsp;CONNECT BY level <span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">1000000<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n<span class=\"nu0\">1000000<\/span> linhas criadas<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> COMMIT<span class=\"sy0\">;<\/span><br \/>\n<br \/>\nCommit conclu\u00ed<span class=\"kw1\">do<\/span><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> CREATE INDEX dbtw061_matr_idx ON dbtw061<span class=\"br0\">&#40;<\/span>matr<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> CREATE INDEX dbtw061_dt_cad_idx on dbtw061<span class=\"br0\">&#40;<\/span>dt_cad<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><br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> <a href=\"http:\/\/www.php.net\/exec\"><span class=\"kw3\">EXEC<\/span><\/a> DBMS_STATS<span class=\"sy0\">.<\/span>GATHER_TABLE_STATS<span class=\"br0\">&#40;<\/span>ownname<span class=\"sy0\">=&gt;<\/span> USER<span class=\"sy0\">,<\/span> tabname<span class=\"sy0\">=&gt;<\/span> <span class=\"st_h\">'DBTW061'<\/span><span class=\"sy0\">,<\/span> cascade<span class=\"sy0\">=&gt;<\/span> <span class=\"kw4\">true<\/span><span class=\"sy0\">,<\/span> method_opt<span class=\"sy0\">=&gt;<\/span> <span class=\"st_h\">'FOR ALL COLUMNS SIZE AUTO'<\/span><span class=\"sy0\">,<\/span>force<span class=\"sy0\">=&gt;<\/span> <span class=\"kw4\">true<\/span><span class=\"sy0\">,<\/span>degree<span class=\"sy0\">=&gt;<\/span> <span class=\"nu0\">16<\/span><span class=\"br0\">&#41;<\/span><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<h2><span style=\"font-size: 14pt;\">2) Executar uma consulta com o campo DT_CAD na cl\u00e1usula WHERE<\/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 \/>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 \/><\/div><\/td><td><div class=\"php codecolorer\">SQL <span class=\"sy0\">&gt;<\/span> SELECT <span class=\"coMULTI\">\/* dbtw-061.2 *\/<\/span> <span class=\"sy0\">*<\/span><br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp;FROM dbtw061<br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp; WHERE dt_cad BETWEEN <span class=\"nu0\">19991231<\/span> and <span class=\"nu0\">20000101<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; &nbsp; MATR &nbsp; &nbsp;COD_CID &nbsp; &nbsp; DT_CAD DESCR<br \/>\n<span class=\"sy0\">----------<\/span> <span class=\"sy0\">----------<\/span> <span class=\"sy0\">----------<\/span> <span class=\"sy0\">----------------------------------------------------------------------------------------------------<\/span><br \/>\n&nbsp; &nbsp; &nbsp; <span class=\"nu0\">2239<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">239<\/span> &nbsp; <span class=\"nu0\">19991231<\/span> GsraCoSnqAbFoxmqzKmWplZFWMcvSKqsGcRyuhVJIwFoZFXnQfduEiqdEUWVyJgxdsEifIAHHrKPqwtnsGqXthWLwnTsrCGmpJXF<br \/>\n&nbsp; &nbsp; &nbsp; <span class=\"nu0\">8676<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">676<\/span> &nbsp; <span class=\"nu0\">19991231<\/span> UwRSVzGqpeALcbxsvfEUQBeWyjBBQveZdNsghrtywdzvzlGxflymDdHSfTUlulPSssrJSqqrIEPQnkUdUAoTYmsJhMSbcJRoWrES<br \/>\n&nbsp; &nbsp; &nbsp; <span class=\"nu0\">8127<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">127<\/span> &nbsp; <span class=\"nu0\">20000101<\/span> kUPMpafQiRacIGnOdzcUGnMkwGnqdxQmrDPKDrDtcmsgbjSQHvMxIMVgbDDTYvDaVpnLyrIGmVAhXfAECAnmKlTSGSebmHTxcgrZ<br \/>\n&nbsp; &nbsp; &nbsp; <span class=\"sy0\">.<\/span><br \/>\n&nbsp; &nbsp; &nbsp; <span class=\"sy0\">.<\/span><br \/>\n&nbsp; &nbsp; &nbsp; <span class=\"sy0\">.<\/span><br \/>\n&nbsp; &nbsp; <span class=\"nu0\">984189<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">189<\/span> &nbsp; <span class=\"nu0\">20000101<\/span> CkRBQEPmoBhWKhbxAkKOBjTdQJiBgptyRRRDpQEDtpLyaaeIvZUeWyOTtzDwuJkFSyaAygBuaVMbJxmLiDgCoIRKRUAkapJMolyZ<br \/>\n<br \/>\n<span class=\"nu0\">206<\/span> linhas selecionadas<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> 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><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-061.2%'<\/span><br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; &nbsp; AND sql_text NOT LIKE <span class=\"st_h\">'%v$sql%'<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nSQL_ID &nbsp; &nbsp; &nbsp; &nbsp;CHILD_NUMBER<br \/>\n<span class=\"sy0\">-------------<\/span> <span class=\"sy0\">------------<\/span><br \/>\n1ngp47mwuk766 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">0<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/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; &nbsp;FROM TABLE <span class=\"br0\">&#40;<\/span>dbms_xplan<span class=\"sy0\">.<\/span>display_cursor <span class=\"br0\">&#40;<\/span><span class=\"st_h\">'&amp;m_sql_id'<\/span><span class=\"sy0\">,&amp;<\/span>m_child_no<span class=\"sy0\">,<\/span><span class=\"st_h\">'ALLSTATS LAST'<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\nantigo &nbsp; <span class=\"nu0\">2<\/span><span class=\"sy0\">:<\/span> &nbsp; FROM TABLE <span class=\"br0\">&#40;<\/span>dbms_xplan<span class=\"sy0\">.<\/span>display_cursor <span class=\"br0\">&#40;<\/span><span class=\"st_h\">'&amp;m_sql_id'<\/span><span class=\"sy0\">,&amp;<\/span>m_child_no<span class=\"sy0\">,<\/span><span class=\"st_h\">'ALLSTATS LAST'<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\nnovo &nbsp; <span class=\"nu0\">2<\/span><span class=\"sy0\">:<\/span> &nbsp; FROM TABLE <span class=\"br0\">&#40;<\/span>dbms_xplan<span class=\"sy0\">.<\/span>display_cursor <span class=\"br0\">&#40;<\/span><span class=\"st_h\">'1ngp47mwuk766'<\/span><span class=\"sy0\">,<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span><span class=\"st_h\">'ALLSTATS LAST'<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\nPLAN_TABLE_OUTPUT<br \/>\n<span class=\"sy0\">------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<\/span><br \/>\nSQL_ID &nbsp;1ngp47mwuk766<span class=\"sy0\">,<\/span> child number <span class=\"nu0\">0<\/span><br \/>\n<span class=\"sy0\">-------------------------------------<\/span><br \/>\nSELECT <span class=\"coMULTI\">\/* dbtw-061.2 *\/<\/span> <span class=\"sy0\">*<\/span> &nbsp; FROM dbtw061 &nbsp;WHERE dt_cad BETWEEN <span class=\"nu0\">19991231<\/span><br \/>\nand <span class=\"nu0\">20000101<\/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\">2108755988<\/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;<span class=\"sy0\">|<\/span> Starts <span class=\"sy0\">|<\/span> E<span class=\"sy0\">-<\/span>Rows <span class=\"sy0\">|<\/span> A<span class=\"sy0\">-<\/span>Rows <span class=\"sy0\">|<\/span> &nbsp; A<span class=\"sy0\">-<\/span><a href=\"http:\/\/www.php.net\/time\"><span class=\"kw3\">Time<\/span><\/a> &nbsp; <span class=\"sy0\">|<\/span> Buffers <span class=\"sy0\">|<\/span><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; <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">206<\/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.06<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">16755<\/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> DBTW061 <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp;<span class=\"nu0\">32997<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">206<\/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.06<\/span> <span class=\"sy0\">|<\/span> &nbsp; <span class=\"nu0\">16755<\/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;DT_CAD&quot;<\/span><span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">20000101<\/span> AND <span class=\"st0\">&quot;DT_CAD&quot;<\/span><span class=\"sy0\">&gt;=<\/span><span class=\"nu0\">19991231<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\n<br \/>\n<span class=\"nu0\">19<\/span> linhas selecionadas<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> <span class=\"sy0\">-------------------------------------------------------------------<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> <span class=\"sy0\">--<\/span> SELETIVIDADE <span class=\"sy0\">=<\/span> <span class=\"br0\">&#40;<\/span>vval2<span class=\"sy0\">-<\/span>vval1<span class=\"br0\">&#41;<\/span><span class=\"sy0\">\/<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#40;<\/span>maxval<span class=\"sy0\">-<\/span>minval<span class=\"br0\">&#41;<\/span><span class=\"sy0\">+<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">2<\/span> <span class=\"sy0\">*<\/span> Density<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> <span class=\"sy0\">-------------------------------------------------------------------<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> SELECT <a href=\"http:\/\/www.php.net\/min\"><span class=\"kw3\">MIN<\/span><\/a><span class=\"br0\">&#40;<\/span>dt_cad<span class=\"br0\">&#41;<\/span> <a href=\"http:\/\/www.php.net\/min\"><span class=\"kw3\">min<\/span><\/a><span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.php.net\/max\"><span class=\"kw3\">MAX<\/span><\/a><span class=\"br0\">&#40;<\/span>dt_cad<span class=\"br0\">&#41;<\/span> <a href=\"http:\/\/www.php.net\/max\"><span class=\"kw3\">max<\/span><\/a><br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp; &nbsp;FROM dbtw061<span class=\"sy0\">;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/min\"><span class=\"kw3\">MIN<\/span><\/a> &nbsp; &nbsp; &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/max\"><span class=\"kw3\">MAX<\/span><\/a><br \/>\n<span class=\"sy0\">----------<\/span> <span class=\"sy0\">----------<\/span><br \/>\n&nbsp; <span class=\"nu0\">19920308<\/span> &nbsp; <span class=\"nu0\">20190724<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> SELECT column_name<span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp; &nbsp; &nbsp; density<br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp; &nbsp;FROM user_tab_cols<br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; WHERE table_name<span class=\"sy0\">=<\/span><span class=\"st_h\">'DBTW061'<\/span><br \/>\n&nbsp; <span class=\"nu0\">5<\/span> &nbsp; &nbsp; AND column_name<span class=\"sy0\">=<\/span><span class=\"st_h\">'DT_CAD'<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nCOLUMN_NAME &nbsp; &nbsp; &nbsp; &nbsp;DENSITY<br \/>\n<span class=\"sy0\">---------------<\/span> <span class=\"sy0\">----------<\/span><br \/>\nDT_CAD &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">,<\/span><span class=\"nu19\">000097694<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> SELECT <span class=\"br0\">&#40;<\/span><span class=\"nu0\">20000101<\/span><span class=\"sy0\">-<\/span><span class=\"nu0\">19991231<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">\/<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">20190724<\/span><span class=\"sy0\">-<\/span><span class=\"nu0\">19920308<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">+<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">2<\/span><span class=\"sy0\">*<\/span><span class=\"nu19\">0.000097694<\/span><span class=\"br0\">&#41;<\/span> SELETIVIDADE<br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp;FROM dual<span class=\"sy0\">;<\/span><br \/>\n<br \/>\nSELETIVIDADE<br \/>\n<span class=\"sy0\">-------------<\/span><br \/>\n&nbsp; &nbsp;<span class=\"sy0\">,<\/span><span class=\"nu19\">032996702<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> <span class=\"sy0\">-------------------------------------------------------------------<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> <span class=\"sy0\">--<\/span> CARDINALIDADE <span class=\"sy0\">=<\/span> SELECTIVIDADE <span class=\"sy0\">*<\/span> NUM LINHAS DA TABELA<br \/>\nSQL <span class=\"sy0\">&gt;<\/span> <span class=\"sy0\">-------------------------------------------------------------------<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> SELECT <a href=\"http:\/\/www.php.net\/round\"><span class=\"kw3\">ROUND<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"nu19\">0.032996702<\/span><span class=\"sy0\">*<\/span><span class=\"nu0\">1000000<\/span><span class=\"br0\">&#41;<\/span> CARDINALIDADE<br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp;FROM dual<span class=\"sy0\">;<\/span><br \/>\n<br \/>\nCARDINALIDADE<br \/>\n<span class=\"sy0\">-------------<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">32997<\/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 estimou que seriam selecionadas 32997 linhas na tabela e por isso escolheu fazer uma opera\u00e7\u00e3o TABLE ACCESS FULL, mas na verdade foram selecionadas apenas 206 linhas, devido a esse erro de estimativa o Otimizador deixou de usar o \u00edndice que seria a melhor op\u00e7\u00e3o para selecionar 206 linhas na tabela.<\/span><br \/>\n<span style=\"font-size: 12pt;\">Ap\u00f3s o plano de execu\u00e7\u00e3o podemos observar os c\u00e1lculos realizados pelo Otimizador para estimar o numero de linhas que seriam lidos na tabela, o algoritmo do Otimizador acaba fornecendo um resultado errado pois faz uma subtra\u00e7\u00e3o num\u00e9rica dos valores m\u00e1ximo e minimo na tabela, bem como a subtra\u00e7\u00e3o do intervalo fornecido na cl\u00e1usula WHERE, porem o resultado da subtra\u00e7\u00e3o de campos do tipo num\u00e9rico s\u00e3o diferentes dos resultados de subtra\u00e7\u00e3o de campos do tipo DATA, e no nosso caso apesar do tipo do campo ser num\u00e9rico o conte\u00fado desse campo \u00e9 data.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-size: 14pt;\">3) Recriar a tabela alterando o campo DT_CAD<\/span><\/h2>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Agora vamos recriar a tabela alterando o campo DT_CAD para o tipo DATA e verificar se o Otimizador \u00e9 capaz de criar um plano de execu\u00e7\u00e3o melhor.<\/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 \/><\/div><\/td><td><div class=\"php codecolorer\">SQL <span class=\"sy0\">&gt;<\/span> DROP TABLE dbtw061<span class=\"sy0\">;<\/span><br \/>\n<br \/>\nTabela eliminada<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> CREATE TABLE dbtw061 <span class=\"br0\">&#40;<\/span>matr number<span class=\"sy0\">,<\/span> cod_cid number<span class=\"sy0\">,<\/span> dt_cad <a href=\"http:\/\/www.php.net\/date\"><span class=\"kw3\">date<\/span><\/a><span class=\"sy0\">,<\/span> descr varchar<span class=\"br0\">&#40;<\/span><span class=\"nu0\">100<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nTabela criada<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> INSERT INTO dbtw061<br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp; SELECT rownum<span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MOD<span class=\"br0\">&#40;<\/span>rownum<span class=\"sy0\">,<\/span><span class=\"nu0\">1000<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TRUNC<span class=\"br0\">&#40;<\/span>sysdate<span class=\"sy0\">-<\/span>TRUNC<span class=\"br0\">&#40;<\/span>DBMS_RANDOM<span class=\"sy0\">.<\/span>VALUE<span class=\"br0\">&#40;<\/span><span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span><span class=\"nu0\">9999<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">5<\/span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;DBMS_RANDOM<span class=\"sy0\">.<\/span>STRING<span class=\"br0\">&#40;<\/span><span class=\"st_h\">'A'<\/span><span class=\"sy0\">,<\/span> <span class=\"nu0\">100<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; <span class=\"nu0\">6<\/span> &nbsp; &nbsp; &nbsp; FROM dual<br \/>\n&nbsp; <span class=\"nu0\">7<\/span> &nbsp; &nbsp;CONNECT BY level <span class=\"sy0\">&lt;=<\/span><span class=\"nu0\">1000000<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n<span class=\"nu0\">1000000<\/span> linhas criadas<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> COMMIT<span class=\"sy0\">;<\/span><br \/>\n<br \/>\nCommit conclu\u00ed<span class=\"kw1\">do<\/span><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> CREATE INDEX dbtw061_matr_idx ON dbtw061<span class=\"br0\">&#40;<\/span>matr<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> CREATE INDEX dbtw061_dt_cad_idx on dbtw061<span class=\"br0\">&#40;<\/span>dt_cad<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><br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> <a href=\"http:\/\/www.php.net\/exec\"><span class=\"kw3\">EXEC<\/span><\/a> DBMS_STATS<span class=\"sy0\">.<\/span>GATHER_TABLE_STATS<span class=\"br0\">&#40;<\/span>ownname<span class=\"sy0\">=&gt;<\/span> USER<span class=\"sy0\">,<\/span> tabname<span class=\"sy0\">=&gt;<\/span> <span class=\"st_h\">'DBTW061'<\/span><span class=\"sy0\">,<\/span> cascade<span class=\"sy0\">=&gt;<\/span> <span class=\"kw4\">true<\/span><span class=\"sy0\">,<\/span> method_opt<span class=\"sy0\">=&gt;<\/span> <span class=\"st_h\">'FOR ALL COLUMNS SIZE AUTO'<\/span><span class=\"sy0\">,<\/span>force<span class=\"sy0\">=&gt;<\/span> <span class=\"kw4\">true<\/span><span class=\"sy0\">,<\/span>degree<span class=\"sy0\">=&gt;<\/span> <span class=\"nu0\">16<\/span><span class=\"br0\">&#41;<\/span><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<h2><span style=\"font-size: 14pt;\">4) Executar a mesma consulta novamente<\/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 \/>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 \/><\/div><\/td><td><div class=\"php codecolorer\">SQL <span class=\"sy0\">&gt;<\/span> SELECT <span class=\"coMULTI\">\/* dbtw-061.3 *\/<\/span> <span class=\"sy0\">*<\/span><br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp;FROM dbtw061<br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp; WHERE dt_cad BETWEEN to_date<span class=\"br0\">&#40;<\/span><span class=\"st_h\">'19991231'<\/span><span class=\"sy0\">,<\/span><span class=\"st_h\">'yyyymmdd'<\/span><span class=\"br0\">&#41;<\/span> and to_date<span class=\"br0\">&#40;<\/span><span class=\"st_h\">'20000101'<\/span><span class=\"sy0\">,<\/span><span class=\"st_h\">'yyyymmdd'<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; &nbsp; MATR &nbsp; &nbsp;COD_CID DT_CAD &nbsp; DESCR<br \/>\n<span class=\"sy0\">----------<\/span> <span class=\"sy0\">----------<\/span> <span class=\"sy0\">--------<\/span> <span class=\"sy0\">----------------------------------------------------------------------------------------------------<\/span><br \/>\n&nbsp; &nbsp; <span class=\"nu0\">360801<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">801<\/span> <span class=\"nu0\">31<\/span><span class=\"sy0\">\/<\/span><span class=\"nu0\">12<\/span><span class=\"sy0\">\/<\/span><span class=\"nu0\">99<\/span> ZkPmOyWkbcopuUumsNeUnzFnOgoIUxcBXNhkshyeQSLwAyrqbguIAQYnQDvjwylzqWanBsRIfqRoxwepNiQUOBpoRdUpgjdGolkC<br \/>\n&nbsp; &nbsp; <span class=\"nu0\">368200<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">200<\/span> <span class=\"nu0\">31<\/span><span class=\"sy0\">\/<\/span><span class=\"nu0\">12<\/span><span class=\"sy0\">\/<\/span><span class=\"nu0\">99<\/span> LouQSxQRimDBTBWeLVFyOqUuhXAryLDptcYkEYaFJJQwWRoejpToXxftLvHRJTHcOcmXZwjVfWvlHIYRMTgWJjjFXfCNrhhYlCUw<br \/>\n&nbsp; &nbsp; <span class=\"nu0\">365402<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">402<\/span> <span class=\"nu0\">31<\/span><span class=\"sy0\">\/<\/span><span class=\"nu0\">12<\/span><span class=\"sy0\">\/<\/span><span class=\"nu0\">99<\/span> uUDeJYLmLfPwsStjVsnfxHjHLasvPsSEfVTFCUBnwYXSRkaxuAqIRrsGuwZYQeqrAiBumuXSQLyOrKEGajDgjLKaRseTyrfxGYND<br \/>\n&nbsp; &nbsp; &nbsp;<span class=\"sy0\">.<\/span><br \/>\n&nbsp; &nbsp; &nbsp;<span class=\"sy0\">.<\/span><br \/>\n&nbsp; &nbsp; &nbsp;<span class=\"sy0\">.<\/span><br \/>\n&nbsp; &nbsp; &nbsp;<span class=\"nu0\">52714<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">714<\/span> <span class=\"nu8\">01<\/span><span class=\"sy0\">\/<\/span><span class=\"nu8\">01<\/span><span class=\"sy0\">\/<\/span><span class=\"nu8\">00<\/span> tSSQcxTRqeFriPpPcJehJpKMYiVwopfTUOrszyotZlCVRmCoFGDodKxRBnMQnykLswjiNdIBvgCacNBdpYlRzckVCDJnxYERilDe<br \/>\n<br \/>\n<span class=\"nu0\">179<\/span> linhas selecionadas<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> 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><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-061.3%'<\/span><br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; &nbsp; AND sql_text NOT LIKE <span class=\"st_h\">'%v$sql%'<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nSQL_ID &nbsp; &nbsp; &nbsp; &nbsp;CHILD_NUMBER<br \/>\n<span class=\"sy0\">-------------<\/span> <span class=\"sy0\">------------<\/span><br \/>\nfbx73g4dgzv04 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"nu0\">0<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/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; &nbsp;FROM TABLE <span class=\"br0\">&#40;<\/span>dbms_xplan<span class=\"sy0\">.<\/span>display_cursor <span class=\"br0\">&#40;<\/span><span class=\"st_h\">'&amp;m_sql_id'<\/span><span class=\"sy0\">,&amp;<\/span>m_child_no<span class=\"sy0\">,<\/span><span class=\"st_h\">'ALLSTATS LAST'<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\nantigo &nbsp; <span class=\"nu0\">2<\/span><span class=\"sy0\">:<\/span> &nbsp; FROM TABLE <span class=\"br0\">&#40;<\/span>dbms_xplan<span class=\"sy0\">.<\/span>display_cursor <span class=\"br0\">&#40;<\/span><span class=\"st_h\">'&amp;m_sql_id'<\/span><span class=\"sy0\">,&amp;<\/span>m_child_no<span class=\"sy0\">,<\/span><span class=\"st_h\">'ALLSTATS LAST'<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\nnovo &nbsp; <span class=\"nu0\">2<\/span><span class=\"sy0\">:<\/span> &nbsp; FROM TABLE <span class=\"br0\">&#40;<\/span>dbms_xplan<span class=\"sy0\">.<\/span>display_cursor <span class=\"br0\">&#40;<\/span><span class=\"st_h\">'fbx73g4dgzv04'<\/span><span class=\"sy0\">,<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">0<\/span><span class=\"sy0\">,<\/span><span class=\"st_h\">'ALLSTATS LAST'<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\nPLAN_TABLE_OUTPUT<br \/>\n<span class=\"sy0\">------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------<\/span><br \/>\nSQL_ID &nbsp;fbx73g4dgzv04<span class=\"sy0\">,<\/span> child number <span class=\"nu0\">0<\/span><br \/>\n<span class=\"sy0\">-------------------------------------<\/span><br \/>\nSELECT <span class=\"coMULTI\">\/* dbtw-061.3 *\/<\/span> <span class=\"sy0\">*<\/span> &nbsp; FROM dbtw061 &nbsp;WHERE dt_cad BETWEEN<br \/>\nto_date<span class=\"br0\">&#40;<\/span><span class=\"st_h\">'19991231'<\/span><span class=\"sy0\">,<\/span><span class=\"st_h\">'yyyymmdd'<\/span><span class=\"br0\">&#41;<\/span> and to_date<span class=\"br0\">&#40;<\/span><span class=\"st_h\">'20000101'<\/span><span class=\"sy0\">,<\/span><span class=\"st_h\">'yyyymmdd'<\/span><span class=\"br0\">&#41;<\/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\">1720299405<\/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; &nbsp; &nbsp; <span class=\"sy0\">|<\/span> Starts <span class=\"sy0\">|<\/span> E<span class=\"sy0\">-<\/span>Rows <span class=\"sy0\">|<\/span> A<span class=\"sy0\">-<\/span>Rows <span class=\"sy0\">|<\/span> &nbsp; A<span class=\"sy0\">-<\/span><a href=\"http:\/\/www.php.net\/time\"><span class=\"kw3\">Time<\/span><\/a> &nbsp; <span class=\"sy0\">|<\/span> Buffers <span class=\"sy0\">|<\/span><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; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">179<\/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\">193<\/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> DBTW061 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">300<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">179<\/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\">193<\/span> <span class=\"sy0\">|<\/span><br \/>\n<span class=\"sy0\">|*<\/span> &nbsp;<span class=\"nu0\">2<\/span> <span class=\"sy0\">|<\/span> &nbsp; INDEX <a href=\"http:\/\/www.php.net\/range\"><span class=\"kw3\">RANGE<\/span><\/a> SCAN &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">|<\/span> DBTW061_DT_CAD_IDX <span class=\"sy0\">|<\/span> &nbsp; &nbsp; &nbsp;<span class=\"nu0\">1<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">300<\/span> <span class=\"sy0\">|<\/span> &nbsp; &nbsp;<span class=\"nu0\">179<\/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\">15<\/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\">2<\/span> <span class=\"sy0\">-<\/span> access<span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;DT_CAD&quot;<\/span><span class=\"sy0\">&gt;=<\/span>TO_DATE<span class=\"br0\">&#40;<\/span><span class=\"st_h\">' 1999-12-31 00:00:00'<\/span><span class=\"sy0\">,<\/span> <span class=\"st_h\">'syyyy-mm-dd hh24:mi:ss'<\/span><span class=\"br0\">&#41;<\/span> AND <span class=\"st0\">&quot;DT_CAD&quot;<\/span><span class=\"sy0\">&lt;=<\/span>TO_DATE<span class=\"br0\">&#40;<\/span><span class=\"st_h\">'<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2000-01-01 00:00:00'<\/span><span class=\"sy0\">,<\/span> <span class=\"st_h\">'syyyy-mm-dd hh24:mi:ss'<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n<br \/>\n<br \/>\n<span class=\"nu0\">21<\/span> linhas selecionadas<span class=\"sy0\">.<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> <span class=\"sy0\">-------------------------------------------------------------------<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> <span class=\"sy0\">--<\/span> SELETIVIDADE <span class=\"sy0\">=<\/span> <span class=\"br0\">&#40;<\/span>vval2<span class=\"sy0\">-<\/span>vval1<span class=\"br0\">&#41;<\/span><span class=\"sy0\">\/<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#40;<\/span>maxval<span class=\"sy0\">-<\/span>minval<span class=\"br0\">&#41;<\/span><span class=\"sy0\">+<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">2<\/span> <span class=\"sy0\">*<\/span> Density<span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> <span class=\"sy0\">-------------------------------------------------------------------<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> SELECT <a href=\"http:\/\/www.php.net\/min\"><span class=\"kw3\">MIN<\/span><\/a><span class=\"br0\">&#40;<\/span>dt_cad<span class=\"br0\">&#41;<\/span> <a href=\"http:\/\/www.php.net\/min\"><span class=\"kw3\">min<\/span><\/a><span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp; &nbsp; &nbsp; <a href=\"http:\/\/www.php.net\/max\"><span class=\"kw3\">MAX<\/span><\/a><span class=\"br0\">&#40;<\/span>dt_cad<span class=\"br0\">&#41;<\/span> <a href=\"http:\/\/www.php.net\/max\"><span class=\"kw3\">max<\/span><\/a><br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp; &nbsp;FROM dbtw061<span class=\"sy0\">;<\/span><br \/>\n<br \/>\n<a href=\"http:\/\/www.php.net\/min\"><span class=\"kw3\">MIN<\/span><\/a> &nbsp; &nbsp; &nbsp;<a href=\"http:\/\/www.php.net\/max\"><span class=\"kw3\">MAX<\/span><\/a><br \/>\n<span class=\"sy0\">--------<\/span> <span class=\"sy0\">--------<\/span><br \/>\n<span class=\"nu19\">09<\/span><span class=\"sy0\">\/<\/span><span class=\"nu8\">03<\/span><span class=\"sy0\">\/<\/span><span class=\"nu0\">92<\/span> <span class=\"nu0\">24<\/span><span class=\"sy0\">\/<\/span><span class=\"nu8\">07<\/span><span class=\"sy0\">\/<\/span><span class=\"nu0\">19<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> SELECT column_name<span class=\"sy0\">,<\/span><br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp; &nbsp; &nbsp; density<br \/>\n&nbsp; <span class=\"nu0\">3<\/span> &nbsp; &nbsp;FROM user_tab_cols<br \/>\n&nbsp; <span class=\"nu0\">4<\/span> &nbsp; WHERE table_name<span class=\"sy0\">=<\/span><span class=\"st_h\">'DBTW061'<\/span><br \/>\n&nbsp; <span class=\"nu0\">5<\/span> &nbsp; &nbsp; AND column_name<span class=\"sy0\">=<\/span><span class=\"st_h\">'DT_CAD'<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\nCOLUMN_NAME &nbsp; &nbsp; &nbsp; DENSITY<br \/>\n<span class=\"sy0\">--------------<\/span> <span class=\"sy0\">----------<\/span><br \/>\nDT_CAD &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class=\"sy0\">,<\/span><span class=\"nu19\">00009984<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> SELECT <span class=\"br0\">&#40;<\/span>to_date<span class=\"br0\">&#40;<\/span><span class=\"st_h\">'20000101'<\/span><span class=\"sy0\">,<\/span><span class=\"st_h\">'yyyymmdd'<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">-<\/span>to_date<span class=\"br0\">&#40;<\/span><span class=\"st_h\">'19991231'<\/span><span class=\"sy0\">,<\/span><span class=\"st_h\">'yyyymmdd'<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">\/<\/span><span class=\"br0\">&#40;<\/span>to_date<span class=\"br0\">&#40;<\/span><span class=\"st_h\">'20190723'<\/span><span class=\"sy0\">,<\/span><span class=\"st_h\">'yyyymmdd'<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">-<\/span>to_date<span class=\"br0\">&#40;<\/span><span class=\"st_h\">'19920308'<\/span><span class=\"sy0\">,<\/span><span class=\"st_h\">'yyyymmdd'<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">+<\/span><span class=\"br0\">&#40;<\/span><span class=\"nu0\">2<\/span><span class=\"sy0\">*<\/span><span class=\"nu19\">0.00010001<\/span><span class=\"br0\">&#41;<\/span> SELETIVIDADE<br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp;FROM dual<span class=\"sy0\">;<\/span><br \/>\n<br \/>\nSELETIVIDADE<br \/>\n<span class=\"sy0\">------------<\/span><br \/>\n&nbsp; &nbsp;<span class=\"sy0\">,<\/span><span class=\"nu8\">00030004<\/span><br \/>\n<br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> <span class=\"sy0\">-------------------------------------------------------------------<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> <span class=\"sy0\">--<\/span> CARDINALIDADE <span class=\"sy0\">=<\/span> SELETIVIDADE <span class=\"sy0\">*<\/span> NUM LINHAS DA TABELA<br \/>\nSQL <span class=\"sy0\">&gt;<\/span> <span class=\"sy0\">-------------------------------------------------------------------<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span><br \/>\nSQL <span class=\"sy0\">&gt;<\/span> SELECT <a href=\"http:\/\/www.php.net\/round\"><span class=\"kw3\">ROUND<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"nu19\">0.00030004<\/span><span class=\"sy0\">*<\/span><span class=\"nu0\">1000000<\/span><span class=\"br0\">&#41;<\/span> CARDINALIDADE<br \/>\n&nbsp; <span class=\"nu0\">2<\/span> &nbsp; &nbsp;FROM dual<span class=\"sy0\">;<\/span><br \/>\n<br \/>\nCARDINALIDADE<br \/>\n<span class=\"sy0\">-------------<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class=\"nu0\">300<\/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 desta vez estimou que seriam lidas 300 linhas da tabela, valor bem pr\u00f3ximo da quantidade de linhas selecionadas ao final da consulta (179 linhas), e como o Otimizador estimou uma pequeno n\u00famero de linhas ele decidiu fazer a leitura da tabela utilizando \u00edndice, com isso o desempenho da consulta foi muito superior ao da primeira consulta executada na etapa 2.<\/span><br \/>\n<span style=\"font-size: 12pt;\">Logo abaixo do plano de execu\u00e7\u00e3o temos os c\u00e1lculos realizados pelo Otimizador para estimar a leitura de 300 linhas da tabela.<\/span><\/p>\n<h2 style=\"text-align: justify;\"><span style=\"font-size: 14pt;\">CONCLUS\u00c3O<\/span><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-size: 12pt;\">Os tipos de campos que definimos para os dados que v\u00e3o popular as tabelas, al\u00e9m de servir para validar as informa\u00e7\u00f5es inseridas no banco de dados, servem para aumentar a precis\u00e3o dos algoritmos utilizados pelo Otimizador que por sua vez \u00e9 capaz de gerar planos de execu\u00e7\u00e3o com \u00f3timo desempenho. Quando decidimos ignorar a utiliza\u00e7\u00e3o dos tipos de campos adequados aos dados da tabela estamos sabotando o desempenho da aplica\u00e7\u00e3o.<\/span><\/p>\n<h2 style=\"text-align: justify;\"><span style=\"font-size: 14pt;\">Refer\u00eancias<\/span><\/h2>\n<p><strong><span style=\"font-size: 12pt;\"><a href=\"https:\/\/docs.oracle.com\/database\/121\/SQLQR\/sqlqr06002.htm#SQLQR959\" target=\"_blank\">https:\/\/docs.oracle.com\/database\/121\/<\/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>Algumas pessoas v\u00e3o ler o t\u00edtulo deste artigo e pensar que ele foi feito para leigos em tecnologia da informa\u00e7\u00e3o, mas quem trabalha com banco de dados sabe que muitas aplica\u00e7\u00f5es que existem no mercado utilizam somente os Datatypes num\u00e9rico e car\u00e1cter, esta pr\u00e1tica afeta negativamente o desempenho da aplica\u00e7\u00e3o pois o Otimizador n\u00e3o tem como deduzir, por exemplo, que<\/p>\n","protected":false},"author":2,"featured_media":2027,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[71],"tags":[221,163,39,82,10,119],"class_list":["post-2026","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-estatisticas","tag-datatypes","tag-dbms_stats","tag-estatisticas","tag-optimizer","tag-otimizador","tag-statistics"],"aioseo_notices":[],"_links":{"self":[{"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/posts\/2026","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=2026"}],"version-history":[{"count":16,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/posts\/2026\/revisions"}],"predecessor-version":[{"id":2067,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/posts\/2026\/revisions\/2067"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/media\/2027"}],"wp:attachment":[{"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/media?parent=2026"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/categories?post=2026"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/dbtimewizard.com.br\/blog\/wp-json\/wp\/v2\/tags?post=2026"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}