{"id":9019,"date":"2018-04-19T17:00:24","date_gmt":"2018-04-19T15:00:24","guid":{"rendered":"http:\/\/arumel.com\/?p=9019"},"modified":"2018-04-19T17:00:24","modified_gmt":"2018-04-19T15:00:24","slug":"mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle","status":"publish","type":"post","link":"https:\/\/arumel.com\/es\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\/","title":{"rendered":"Mejora de rendimiento con indexaci\u00f3n de valores NULL en Oracle"},"content":{"rendered":"<p>Analizando en un cliente el comportamiento de una BD Oracle con problemas de rendimiento, encuentro que la principal actividad est\u00e1 generada por una \u00fanica consulta:<\/p>\n<pre class=\"theme:terminal lang:default decode:true\">SQL_ID 3x5fn7ptysps8, child number 0\r\n-------------------------------------\r\nSELECT * FROM (SELECT * FROM CDS C WHERE C.CALLE IS\r\nNULL OR C.CALLE = '' ORDER BY ID_CDS DESC) WHERE ROWNUM\r\n&lt;=100\r\n\r\nPlan hash value: 1018703595\r\n\r\n---------------------------------------------------------------------------------------------------\r\n| Id | Operatistartupon     | Name | E-Rows |E-Bytes| Cost (%CPU)|   E-Time | OMem | 1Mem | O\/1\/M |\r\n---------------------------------------------------------------------------------------------------\r\n|  0 | SELECT STATEMENT     |      |        |       | 584K(100)  |          |      |      |       |\r\n|* 1 | COUNT STOPKEY        |      |        |       |            |          |      |      |       |\r\n|  2 | VIEW                 |      |      2 |  1292 | 584K (1)   | 01:56:49 |      |      |       |\r\n|* 3 | SORT ORDER BY STOPKEY|      |      2 |   334 | 584K (1)   | 01:56:49 | 2048 | 2048 | 13\/0\/0|\r\n|* 4 | TABLE ACCESS FULL    |  CDS |      2 |   334 | 584K (1)   | 01:56:49 |      |      |       |\r\n---------------------------------------------------------------------------------------------------<\/pre>\n<p>Se trata de una consulta simple que se completa con una operaci\u00f3n Full Table Scan (operaci\u00f3n con ID 4 TABLE ACCESS FULL). No es posible eliminar esta operaci\u00f3n FTS ni con la existencia de un \u00edndice en la columna CALLE. El motivo es que estamos buscando un valor que nunca ser\u00e1 indexado por Oracle, <strong>NULL<\/strong>. Es un comportamiento normal y esperado de los \u00edndices en Oracle, los valores NULL se ignoran y por lo tanto no son a\u00f1adidos en los \u00edndices (son tratados literalmente como un valor que no existe, concepto de NULL).<\/p>\n<p>Esto hace que aunque creemos un \u00edndice simple sobre esta columna, la condici\u00f3n \u00abCALLE IS NULL\u00bb ser\u00e1 resuelta siempre con un FTS porque no podemos identificar valores NULL a trav\u00e9s del \u00edndice, siendo necesario acudir a la tabla de manera directa para revisar cada una de las filas y averiguar cu\u00e1les cumplen el criterio.<\/p>\n<p>En nuestro caso, la aplicaci\u00f3n replite esta consulta con mucha frecuencia para mantener actualizados datos en tiempo real, haciendo que gran parte del tiempo una sesi\u00f3n est\u00e9 haciendo User I\/O sobre la BD de una y otra vez. En el momento del an\u00e1lisis, las ejecuciones llegaban a superar los 150 segundos de duraci\u00f3n, debido a que la tabla accedida ten\u00eda un tama\u00f1o de unos 16GiBs. La BD est\u00e1 en un servidor Windows de 32 bits, donde precisamente intent\u00e1bamos solucionar un problema relacionado con la limitaci\u00f3n de 2GiBs de memoria por proceso en este tipo de entornos (3GiBs si configuramos para ello el sistema operativo).<\/p>\n<p>La soluci\u00f3n aplicada para esta consulta fue la de crear un \u00edndice que incluya valores NULL, lo que en una versi\u00f3n 11g (versi\u00f3n de esta BD) podemos hacer a trav\u00e9s de un \u00edndice compuesto donde uno de los valores es una constante en lugar de ser otra columna. Probamos inicialmente en nuestra sesi\u00f3n con un \u00edndice virtual para verificar si el plan es el esperado:<\/p>\n<pre class=\"theme:terminal lang:default decode:true\">create index idx_nc_virt on cds(calle,0) nosegment;\r\n\r\nalter session set \"_use_nosegment_indexes\" = true;<\/pre>\n<p>Y una vez validado, aplicamos a nivel global en la BD creando un \u00edndice real:<\/p>\n<pre class=\"theme:terminal lang:default decode:true\">drop index idx_nc_virt;\r\n\r\ncreate index idx_nc on cds(calle,0);<\/pre>\n<p>El resultado obtenido fue el siguiente plan, mucho m\u00e1s \u00f3ptimo:<\/p>\n<pre class=\"theme:terminal lang:default decode:true\">Plan hash value: 3682771407\r\n\r\n------------------------------------------------------------------------------\r\n| Id | Operation                  | Name   | Rows | Bytes |Cost (%CPU)| Time |\r\n------------------------------------------------------------------------------\r\n|  0 | SELECT STATEMENT           |        |    2 |  1292 | 4 (25)| 00:00:01 |\r\n|* 1 | COUNT STOPKEY              |        |      |       |       |          |\r\n|  2 | VIEW                       |        |    2 |  1292 | 4 (25)| 00:00:01 |\r\n|* 3 | SORT ORDER BY STOPKEY      |        |    2 |   334 | 4 (25)| 00:00:01 |\r\n|  4 | TABLE ACCESS BY INDEX ROWID| CDS    |    2 |   334 | 3 (0) | 00:00:01 |\r\n|* 5 | INDEX RANGE SCAN           | IDX_NC |    2 |       | 2 (0) | 00:00:01 |\r\n------------------------------------------------------------------------------\r\n\r\n<\/pre>\n<p>Pasando a ejecutarse en un tiempo de 0,25&#8243;.<\/p>\n<p>Esta es una alternativa interesante al empleo de un \u00edndice funcional que resuelva la situaci\u00f3n (por ejemplo utilizando la funci\u00f3n NVL). La ventaja de esta alternativa es que no fue necesario modificar la aplicaci\u00f3n para adaptar el c\u00f3digo SQL a este \u00edndice. Con un \u00edndice funcional (y una edici\u00f3n Standard de BD \ud83d\ude42 ), necesitar\u00edamos modificar el filtro WHERE para igualarlos a la funci\u00f3n del \u00edndice para que el optimizador eval\u00fae su uso. Se este modo generamos un \u00edndice compuesto en el que uno de los componentes es una columna con los valores NULL y el otro es un valor constante. Esto har\u00e1 que todas las entradas NULL de esta columna se incorporen al \u00edndice y se transformar\u00e1 nuestro FTS inicial en un INDEX RANGE SCAN mucho m\u00e1s eficiente.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Agradecimientos:<\/strong><\/p>\n<p>Fotograf\u00eda: Alicia Constela, Vera Pereiro e Alberto Pereiro. Clube de Esgrima 100Tolos.<\/p>\n<p>Revisiones: Alicia Constela.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Analizando en un cliente el comportamiento de una BD Oracle con problemas de rendimiento, encuentro que la principal actividad est\u00e1 generada por una \u00fanica consulta: SQL_ID 3x5fn7ptysps8, child number 0 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- SELECT * FROM (SELECT * FROM CDS C WHERE C.CALLE IS NULL OR C.CALLE = \u00bb ORDER BY ID_CDS DESC) WHERE ROWNUM &lt;=100 Plan [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":9009,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[62,27,50],"tags":[],"class_list":["post-9019","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oracle","category-portada-es","category-slider-post-es"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mejora de rendimiento con indexaci\u00f3n de valores NULL en Oracle - Arumel<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/arumel.com\/es\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mejora de rendimiento con indexaci\u00f3n de valores NULL en Oracle - Arumel\" \/>\n<meta property=\"og:description\" content=\"Analizando en un cliente el comportamiento de una BD Oracle con problemas de rendimiento, encuentro que la principal actividad est\u00e1 generada por una \u00fanica consulta: SQL_ID 3x5fn7ptysps8, child number 0 ------------------------------------- SELECT * FROM (SELECT * FROM CDS C WHERE C.CALLE IS NULL OR C.CALLE = &#039;&#039; ORDER BY ID_CDS DESC) WHERE ROWNUM &lt;=100 Plan [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/arumel.com\/es\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\/\" \/>\n<meta property=\"og:site_name\" content=\"Arumel\" \/>\n<meta property=\"article:published_time\" content=\"2018-04-19T15:00:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_.jpg?fit=4452%2C2208&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"4452\" \/>\n\t<meta property=\"og:image:height\" content=\"2208\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Alberto Pereiro\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alberto Pereiro\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/arumel.com\\\/es\\\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/arumel.com\\\/es\\\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\\\/\"},\"author\":{\"name\":\"Alberto Pereiro\",\"@id\":\"http:\\\/\\\/arumel.com\\\/#\\\/schema\\\/person\\\/1cdc5947f4270801792b02ec92332edc\"},\"headline\":\"Mejora de rendimiento con indexaci\u00f3n de valores NULL en Oracle\",\"datePublished\":\"2018-04-19T15:00:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/arumel.com\\\/es\\\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\\\/\"},\"wordCount\":559,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/arumel.com\\\/es\\\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/arumel.com\\\/wp-content\\\/uploads\\\/2018\\\/04\\\/riders.on_.the_.storm_.jpg?fit=4452%2C2208&ssl=1\",\"articleSection\":[\"Oracle\",\"portada\",\"slider-post\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/arumel.com\\\/es\\\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/arumel.com\\\/es\\\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\\\/\",\"url\":\"https:\\\/\\\/arumel.com\\\/es\\\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\\\/\",\"name\":\"Mejora de rendimiento con indexaci\u00f3n de valores NULL en Oracle - Arumel\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/arumel.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/arumel.com\\\/es\\\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/arumel.com\\\/es\\\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/arumel.com\\\/wp-content\\\/uploads\\\/2018\\\/04\\\/riders.on_.the_.storm_.jpg?fit=4452%2C2208&ssl=1\",\"datePublished\":\"2018-04-19T15:00:24+00:00\",\"author\":{\"@id\":\"http:\\\/\\\/arumel.com\\\/#\\\/schema\\\/person\\\/1cdc5947f4270801792b02ec92332edc\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/arumel.com\\\/es\\\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/arumel.com\\\/es\\\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/arumel.com\\\/es\\\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/arumel.com\\\/wp-content\\\/uploads\\\/2018\\\/04\\\/riders.on_.the_.storm_.jpg?fit=4452%2C2208&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/arumel.com\\\/wp-content\\\/uploads\\\/2018\\\/04\\\/riders.on_.the_.storm_.jpg?fit=4452%2C2208&ssl=1\",\"width\":4452,\"height\":2208},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/arumel.com\\\/es\\\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/arumel.com\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mejora de rendimiento con indexaci\u00f3n de valores NULL en Oracle\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/arumel.com\\\/#website\",\"url\":\"http:\\\/\\\/arumel.com\\\/\",\"name\":\"Arumel\",\"description\":\"Outro sitio WordPress m\u00e1is\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\\\/\\\/arumel.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"http:\\\/\\\/arumel.com\\\/#\\\/schema\\\/person\\\/1cdc5947f4270801792b02ec92332edc\",\"name\":\"Alberto Pereiro\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a375a0c812714ad00388e6453d01b2231aa1ebc4e50587c1cf7eeee09e04eb64?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a375a0c812714ad00388e6453d01b2231aa1ebc4e50587c1cf7eeee09e04eb64?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a375a0c812714ad00388e6453d01b2231aa1ebc4e50587c1cf7eeee09e04eb64?s=96&d=mm&r=g\",\"caption\":\"Alberto Pereiro\"},\"url\":\"https:\\\/\\\/arumel.com\\\/es\\\/author\\\/alberto\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mejora de rendimiento con indexaci\u00f3n de valores NULL en Oracle - Arumel","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/arumel.com\/es\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\/","og_locale":"es_ES","og_type":"article","og_title":"Mejora de rendimiento con indexaci\u00f3n de valores NULL en Oracle - Arumel","og_description":"Analizando en un cliente el comportamiento de una BD Oracle con problemas de rendimiento, encuentro que la principal actividad est\u00e1 generada por una \u00fanica consulta: SQL_ID 3x5fn7ptysps8, child number 0 ------------------------------------- SELECT * FROM (SELECT * FROM CDS C WHERE C.CALLE IS NULL OR C.CALLE = '' ORDER BY ID_CDS DESC) WHERE ROWNUM &lt;=100 Plan [&hellip;]","og_url":"https:\/\/arumel.com\/es\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\/","og_site_name":"Arumel","article_published_time":"2018-04-19T15:00:24+00:00","og_image":[{"width":4452,"height":2208,"url":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_.jpg?fit=4452%2C2208&ssl=1","type":"image\/jpeg"}],"author":"Alberto Pereiro","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Alberto Pereiro","Tiempo de lectura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/arumel.com\/es\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\/#article","isPartOf":{"@id":"https:\/\/arumel.com\/es\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\/"},"author":{"name":"Alberto Pereiro","@id":"http:\/\/arumel.com\/#\/schema\/person\/1cdc5947f4270801792b02ec92332edc"},"headline":"Mejora de rendimiento con indexaci\u00f3n de valores NULL en Oracle","datePublished":"2018-04-19T15:00:24+00:00","mainEntityOfPage":{"@id":"https:\/\/arumel.com\/es\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\/"},"wordCount":559,"commentCount":0,"image":{"@id":"https:\/\/arumel.com\/es\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_.jpg?fit=4452%2C2208&ssl=1","articleSection":["Oracle","portada","slider-post"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/arumel.com\/es\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/arumel.com\/es\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\/","url":"https:\/\/arumel.com\/es\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\/","name":"Mejora de rendimiento con indexaci\u00f3n de valores NULL en Oracle - Arumel","isPartOf":{"@id":"http:\/\/arumel.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/arumel.com\/es\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\/#primaryimage"},"image":{"@id":"https:\/\/arumel.com\/es\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_.jpg?fit=4452%2C2208&ssl=1","datePublished":"2018-04-19T15:00:24+00:00","author":{"@id":"http:\/\/arumel.com\/#\/schema\/person\/1cdc5947f4270801792b02ec92332edc"},"breadcrumb":{"@id":"https:\/\/arumel.com\/es\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/arumel.com\/es\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/arumel.com\/es\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\/#primaryimage","url":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_.jpg?fit=4452%2C2208&ssl=1","contentUrl":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_.jpg?fit=4452%2C2208&ssl=1","width":4452,"height":2208},{"@type":"BreadcrumbList","@id":"https:\/\/arumel.com\/es\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/arumel.com\/es\/"},{"@type":"ListItem","position":2,"name":"Mejora de rendimiento con indexaci\u00f3n de valores NULL en Oracle"}]},{"@type":"WebSite","@id":"http:\/\/arumel.com\/#website","url":"http:\/\/arumel.com\/","name":"Arumel","description":"Outro sitio WordPress m\u00e1is","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/arumel.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"http:\/\/arumel.com\/#\/schema\/person\/1cdc5947f4270801792b02ec92332edc","name":"Alberto Pereiro","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/a375a0c812714ad00388e6453d01b2231aa1ebc4e50587c1cf7eeee09e04eb64?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a375a0c812714ad00388e6453d01b2231aa1ebc4e50587c1cf7eeee09e04eb64?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a375a0c812714ad00388e6453d01b2231aa1ebc4e50587c1cf7eeee09e04eb64?s=96&d=mm&r=g","caption":"Alberto Pereiro"},"url":"https:\/\/arumel.com\/es\/author\/alberto\/"}]}},"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9uvW6-2lt","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":9023,"url":"https:\/\/arumel.com\/ca\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\/","url_meta":{"origin":9019,"position":0},"title":"Mejora de rendimiento con indexaci\u00f3n de valores NULL en Oracle","author":"Alberto Pereiro","date":"19 de abril de 2018","format":false,"excerpt":"","rel":"","context":"En &quot;Oracle&quot;","block_context":{"text":"Oracle","link":"https:\/\/arumel.com\/ca\/oracle-ca\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_.jpg?fit=1200%2C595&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_.jpg?fit=1200%2C595&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_.jpg?fit=1200%2C595&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_.jpg?fit=1200%2C595&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_.jpg?fit=1200%2C595&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":9026,"url":"https:\/\/arumel.com\/eu\/mejora-de-rendimiento-con-indexacion-de-valores-null-en-oracle\/","url_meta":{"origin":9019,"position":1},"title":"Mejora de rendimiento con indexaci\u00f3n de valores NULL en Oracle","author":"Alberto Pereiro","date":"19 de abril de 2018","format":false,"excerpt":"","rel":"","context":"En &quot;Oracle&quot;","block_context":{"text":"Oracle","link":"https:\/\/arumel.com\/eu\/oracle-eu\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_.jpg?fit=1200%2C595&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_.jpg?fit=1200%2C595&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_.jpg?fit=1200%2C595&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_.jpg?fit=1200%2C595&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_.jpg?fit=1200%2C595&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":8988,"url":"https:\/\/arumel.com\/mellora-de-rendemendo-con-indexacion-de-valores-null-en-oracle\/","url_meta":{"origin":9019,"position":2},"title":"Mellora de rendemendo con indexaci\u00f3n de valores NULL en Oracle","author":"Alberto Pereiro","date":"19 de abril de 2018","format":false,"excerpt":"","rel":"","context":"En &quot;Oracle&quot;","block_context":{"text":"Oracle","link":"https:\/\/arumel.com\/oracle-2\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_-e1524149239453.jpg?fit=1200%2C674&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_-e1524149239453.jpg?fit=1200%2C674&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_-e1524149239453.jpg?fit=1200%2C674&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_-e1524149239453.jpg?fit=1200%2C674&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_-e1524149239453.jpg?fit=1200%2C674&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":9029,"url":"https:\/\/arumel.com\/en\/performance-tuning-with-null-indexing-in-oracle-database\/","url_meta":{"origin":9019,"position":3},"title":"Performance tuning with NULL indexing in Oracle Database","author":"Alberto Pereiro","date":"19 de abril de 2018","format":false,"excerpt":"","rel":"","context":"En &quot;Oracle&quot;","block_context":{"text":"Oracle","link":"https:\/\/arumel.com\/en\/oracle-en\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_.jpg?fit=1200%2C595&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_.jpg?fit=1200%2C595&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_.jpg?fit=1200%2C595&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_.jpg?fit=1200%2C595&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_.jpg?fit=1200%2C595&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":9743,"url":"https:\/\/arumel.com\/es\/awr-warehouse-por-supuesto\/","url_meta":{"origin":9019,"position":4},"title":"AWR Warehouse? Por supuesto!","author":"Carla Mu\u00f1oz L\u00f3pez","date":"13 de agosto de 2019","format":false,"excerpt":"Resulta emocionante, y es lo que pretendo trasladar en este art\u00edculo, la idea de disponer de un repositorio centralizado de awr de todas las bases de datos Oracle de la compa\u00f1\u00eda. Realmente pienso\u2026 c\u00f3mo has podido vivir sin uno?! Para entender qu\u00e9 nos puede aportar comienzo explicando qu\u00e9 es AWR.\u2026","rel":"","context":"En &quot;Oracle&quot;","block_context":{"text":"Oracle","link":"https:\/\/arumel.com\/es\/oracle\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/ilustracion.sxsbandin.rodaballo.jpg?fit=1200%2C877&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/ilustracion.sxsbandin.rodaballo.jpg?fit=1200%2C877&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/ilustracion.sxsbandin.rodaballo.jpg?fit=1200%2C877&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/ilustracion.sxsbandin.rodaballo.jpg?fit=1200%2C877&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/ilustracion.sxsbandin.rodaballo.jpg?fit=1200%2C877&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":9720,"url":"https:\/\/arumel.com\/es\/aviso-de-incidencia-a-por-ella\/","url_meta":{"origin":9019,"position":5},"title":"Aviso de incidencia? A por ella","author":"Carla Mu\u00f1oz L\u00f3pez","date":"6 de agosto de 2019","format":false,"excerpt":" A la hora de abordar una incidencia, tanto por indisponibilidad del servicio como por rendimiento, lo importante es la rapidez y eficiencia. Oracle en ese sentido nos lo facilita con una serie de herramientas que\u2026","rel":"","context":"En &quot;Oracle&quot;","block_context":{"text":"Oracle","link":"https:\/\/arumel.com\/es\/oracle\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/ilustracion.sxsbandin.cervo_.jpg?fit=1200%2C1057&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/ilustracion.sxsbandin.cervo_.jpg?fit=1200%2C1057&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/ilustracion.sxsbandin.cervo_.jpg?fit=1200%2C1057&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/ilustracion.sxsbandin.cervo_.jpg?fit=1200%2C1057&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2019\/07\/ilustracion.sxsbandin.cervo_.jpg?fit=1200%2C1057&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/arumel.com\/wp-content\/uploads\/2018\/04\/riders.on_.the_.storm_.jpg?fit=4452%2C2208&ssl=1","_links":{"self":[{"href":"https:\/\/arumel.com\/es\/wp-json\/wp\/v2\/posts\/9019","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arumel.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arumel.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/arumel.com\/es\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/arumel.com\/es\/wp-json\/wp\/v2\/comments?post=9019"}],"version-history":[{"count":3,"href":"https:\/\/arumel.com\/es\/wp-json\/wp\/v2\/posts\/9019\/revisions"}],"predecessor-version":[{"id":9022,"href":"https:\/\/arumel.com\/es\/wp-json\/wp\/v2\/posts\/9019\/revisions\/9022"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/arumel.com\/es\/wp-json\/wp\/v2\/media\/9009"}],"wp:attachment":[{"href":"https:\/\/arumel.com\/es\/wp-json\/wp\/v2\/media?parent=9019"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arumel.com\/es\/wp-json\/wp\/v2\/categories?post=9019"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arumel.com\/es\/wp-json\/wp\/v2\/tags?post=9019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}