{"id":32390,"date":"2025-03-21T11:21:38","date_gmt":"2025-03-21T10:21:38","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/?p=32390"},"modified":"2025-03-21T11:21:39","modified_gmt":"2025-03-21T10:21:39","slug":"estructura-fisica-de-las-tablas-y-heap-indices-parte-2","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/","title":{"rendered":"Estructura f\u00edsica de las tablas y HEAP (\u00cdndices parte 2)"},"content":{"rendered":"\n<p><span style=\"font-weight: 400\">Seguimos con nuestra serie de \u00edndices en SQL Server y vamos a profundizar en la estructura de las tablas que vimos ayer. Adem\u00e1s vamos a introducir conceptos nuevos como las particiones y las tablas HEAP. Antes de continuar, si a\u00fan no lo hab\u00e9is hecho, os recomiendo leer la <a href=\"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/introduccion-a-los-indices-en-sql-server-indices-parte-1\/\">primera entrega<\/a> de esta serie de \u00edndices donde hicimos una introducci\u00f3n y aclaramos los conceptos b\u00e1sicos sobre los que vamos a profundizar ahora.&nbsp;<\/span><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-estructura-fisica-de-las-tablas\"><span style=\"font-weight: 400\"><strong>Estructura f\u00edsica de las tablas<\/strong><\/span> <\/h2>\n\n\n\n<p><span style=\"font-weight: 400\">Como vimos en la introducci\u00f3n las tablas son en realidad la representaci\u00f3n de los datos almacenados en p\u00e1ginas de 8Kb de informaci\u00f3n. Pero por encima de estas p\u00e1ginas tenemos una estructura l\u00f3gica que indica d\u00f3nde se ubican los datos. Del mismo modo, podemos definir particiones, que son divisiones horizontales f\u00edsicas en funci\u00f3n de los valores de una columna.&nbsp;<\/span><\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69f29f26d38ea&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.soydba.es\/wp-content\/uploads\/2023\/12\/estructura--1024x598.png\" alt=\"estructura indices\" class=\"wp-image-179\"\/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Enlarge\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p><span style=\"font-weight: 400\">Como pod\u00e9is ver en la imagen nuestra tabla, tenga o no particiones, sea HEAP o tenga un \u00edndice clustered se compone de p\u00e1ginas del tipo IN_ROW_DATA, LOB_DATA y ROW_OVERFLOW_DATA.&nbsp;<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400\">IN_ROW_DATA almacena la mayor\u00eda de la informaci\u00f3n de nuestras filas. Hay tipos de datos especiales que por su gran tama\u00f1o no caben en las p\u00e1ginas de datos y se almacenan en LOB_DATA. Por \u00faltimo, cuando definimos una columna que de longitud variable se almacenar\u00e1 en IN_ROW_DATA siempre que sea posible y cuando por tama\u00f1o no se pueda ir\u00e1 a una p\u00e1gina tipo ROW_OVERFLOW_DATA.<\/span><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-tablas-heap\"><span style=\"font-weight: 400\"><strong>Tablas HEAP<\/strong><\/span><\/h2>\n\n\n\n<p><span style=\"font-weight: 400\">Como vimos, cuando escribimos en una tabla HEAP los datos se escribir\u00e1n en el primer hueco libre en las p\u00e1ginas ya asignadas. Si no hay hueco disponible se crear\u00e1 una nueva p\u00e1gina. Adem\u00e1s se asignar\u00e1 un identificador \u00fanico a cada fila conocido como RID. Aunque no exist<\/span>a<span style=\"font-weight: 400\">n \u00edndices<\/span>,<span style=\"font-weight: 400\"> SQL necesita localizar donde se encuentran las p\u00e1ginas de una tabla HEAP<\/span> y<span style=\"font-weight: 400\"> para ello hace uso de un IAM o mapa de asignaci\u00f3n de \u00edndices. El IAM almacena la ubicaci\u00f3n de las p\u00e1ginas que componen la tabla pero, no identifica de ninguna manera los RID.<\/span> P<span style=\"font-weight: 400\">ara buscar una fila SQL Server ir\u00e1 al IAM y recorrer\u00e1 secuencialmente todos los registros de todas las p\u00e1ginas enlazadas al IAM. Como pod\u00e9is adivinar, esto no es nada bueno en t\u00e9rminos de rendimiento, sin embargo no es el peor de los problemas de las tablas HEAP.&nbsp;<\/span><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-redireccion-de-punteros\">Redirecci\u00f3n de Punteros<\/h3>\n\n\n\n<p><span style=\"font-weight: 400\">Cuando se modifica un registro de una tabla HEAP es posible que la nueva informaci\u00f3n no quepa en el espacio que ten\u00eda asignada esa fila<\/span>. E<span style=\"font-weight: 400\">n este caso<\/span>, <span style=\"font-weight: 400\">no se mueve toda la fila a una nueva ubicaci\u00f3n sino que ese registro se escribe en otro sitio<\/span> y e<span style=\"font-weight: 400\">n su ubicaci\u00f3n original se deja un puntero hacia la nueva ubicaci\u00f3n. <\/span><br><span style=\"font-weight: 400\">Esto complica mucho la lectura, pues para buscar una fila, SQL Server leer\u00e1 la primera p\u00e1gina del IAM que le dir\u00e1 donde est\u00e1 la primera p\u00e1gina de datos. Leer\u00e1 secuencialmente toda la p\u00e1gina de datos hasta que se encuentre termine, ir\u00e1 al IAM a buscar las siguientes p\u00e1ginas y har\u00e1 lo mismo.<\/span> <span style=\"font-weight: 400\">Cuando termine con las p\u00e1ginas de datos referenciadas en la primera p\u00e1gina del IAM ir\u00e1 a la siguiente p\u00e1gina del IAM y habr\u00e1 lo mismo. As\u00ed todas las veces que sea necesario hasta leer completamente la tabla. Por el camino se encontrar\u00e1 punteros que apuntan a p\u00e1ginas LOB, Overflow o simplemente a otras p\u00e1ginas con datos que se han actualizado y no cab\u00edan en la ubicaci\u00f3n original.&nbsp;<\/span><\/p>\n\n\n\n<p><span style=\"font-weight: 400\">Si esto os parece un problema pensad en los discos duros mec\u00e1nicos donde una aguja se va moviendo f\u00edsicamente para posicionarse en la posici\u00f3n correcta del disco y as\u00ed leer los datos<\/span>. U<span style=\"font-weight: 400\">na locura, \u00bfverdad? Es mejor tener nuestras tablas ordenadas y para eso vamos a usar los \u00edndices clustered<\/span>. <\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Seguimos con nuestra serie de \u00edndices en SQL Server y vamos a profundizar en la estructura de las tablas que vimos ayer. Adem\u00e1s vamos a introducir conceptos nuevos como las particiones y las tablas HEAP. Antes de continuar, si a\u00fan no lo hab\u00e9is hecho, os recomiendo leer la primera entrega de esta serie de \u00edndices&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/\">Read more<\/a><\/p>\n","protected":false},"author":321,"featured_media":32511,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[10606],"tags":[],"collections":[13134,13126,13130,13132,13139,13136,13128],"class_list":{"0":"post-32390","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-backend-es","8":"collections-bases-de-datos","9":"collections-databases","10":"collections-indexes","11":"collections-indices","12":"collections-rendimiento","13":"collections-sql","14":"collections-sql-server","15":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Estructura f\u00edsica de las tablas y HEAP (\u00cdndices parte 2) - Codemotion Magazine<\/title>\n<meta name=\"description\" content=\"En esta segunda entrega de nuestra serie de \u00edndices vemos como se estructura f\u00edsicamente una tabla en SQL Server y como funcionan las tablas HEAP.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Estructura f\u00edsica de las tablas y HEAP (\u00cdndices parte 2)\" \/>\n<meta property=\"og:description\" content=\"En esta segunda entrega de nuestra serie de \u00edndices vemos como se estructura f\u00edsicamente una tabla en SQL Server y como funcionan las tablas HEAP.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-21T10:21:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-21T10:21:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1707\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Roberto Carrancio\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@soy_dba\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Roberto Carrancio\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/\"},\"author\":{\"name\":\"Roberto Carrancio\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/97a034bd0d0536df0240ef899434fa19\"},\"headline\":\"Estructura f\u00edsica de las tablas y HEAP (\u00cdndices parte 2)\",\"datePublished\":\"2025-03-21T10:21:38+00:00\",\"dateModified\":\"2025-03-21T10:21:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/\"},\"wordCount\":682,\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-scaled.jpg\",\"articleSection\":[\"Backend\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/\",\"name\":\"Estructura f\u00edsica de las tablas y HEAP (\u00cdndices parte 2) - Codemotion Magazine\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-scaled.jpg\",\"datePublished\":\"2025-03-21T10:21:38+00:00\",\"dateModified\":\"2025-03-21T10:21:39+00:00\",\"description\":\"En esta segunda entrega de nuestra serie de \u00edndices vemos como se estructura f\u00edsicamente una tabla en SQL Server y como funcionan las tablas HEAP.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/#primaryimage\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-scaled.jpg\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-scaled.jpg\",\"width\":2560,\"height\":1707},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Backend\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Estructura f\u00edsica de las tablas y HEAP (\u00cdndices parte 2)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Codemotion.Italy\/\",\"https:\/\/x.com\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/97a034bd0d0536df0240ef899434fa19\",\"name\":\"Roberto Carrancio\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/06\/2-100x100.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/06\/2-100x100.png\",\"caption\":\"Roberto Carrancio\"},\"description\":\"Mi nombre es Roberto Carrancio y soy un DBA de SQL server con m\u00e1s de 12 a\u00f1os de experiencia en el sector. Recientemente he sido reconocido como Microsoft MVP en la categor\u00eda Data Platform en SQL Server y en Azure SQL. Durante mis a\u00f1os de experiencia he tenido oportunidad de lidiar con proyectos en compa\u00f1\u00edas de todos los tama\u00f1os y sectores, desde pymes hasta grandes multinacionales. Tambi\u00e9n soy el creador del blog soydba.es donde intento publicar varios art\u00edculos a la semana.\",\"sameAs\":[\"https:\/\/www.soydba.es\",\"https:\/\/www.linkedin.com\/in\/robertocarrancio\/\",\"https:\/\/x.com\/soy_dba\",\"https:\/\/www.youtube.com\/@SoyDBA\"],\"url\":\"https:\/\/www.codemotion.com\/magazine\/author\/rocarrancio\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Estructura f\u00edsica de las tablas y HEAP (\u00cdndices parte 2) - Codemotion Magazine","description":"En esta segunda entrega de nuestra serie de \u00edndices vemos como se estructura f\u00edsicamente una tabla en SQL Server y como funcionan las tablas HEAP.","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:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/","og_locale":"en_US","og_type":"article","og_title":"Estructura f\u00edsica de las tablas y HEAP (\u00cdndices parte 2)","og_description":"En esta segunda entrega de nuestra serie de \u00edndices vemos como se estructura f\u00edsicamente una tabla en SQL Server y como funcionan las tablas HEAP.","og_url":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2025-03-21T10:21:38+00:00","article_modified_time":"2025-03-21T10:21:39+00:00","og_image":[{"width":2560,"height":1707,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-scaled.jpg","type":"image\/jpeg"}],"author":"Roberto Carrancio","twitter_card":"summary_large_image","twitter_creator":"@soy_dba","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Roberto Carrancio","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/"},"author":{"name":"Roberto Carrancio","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/97a034bd0d0536df0240ef899434fa19"},"headline":"Estructura f\u00edsica de las tablas y HEAP (\u00cdndices parte 2)","datePublished":"2025-03-21T10:21:38+00:00","dateModified":"2025-03-21T10:21:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/"},"wordCount":682,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-scaled.jpg","articleSection":["Backend"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/","url":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/","name":"Estructura f\u00edsica de las tablas y HEAP (\u00cdndices parte 2) - Codemotion Magazine","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-scaled.jpg","datePublished":"2025-03-21T10:21:38+00:00","dateModified":"2025-03-21T10:21:39+00:00","description":"En esta segunda entrega de nuestra serie de \u00edndices vemos como se estructura f\u00edsicamente una tabla en SQL Server y como funcionan las tablas HEAP.","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-scaled.jpg","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-scaled.jpg","width":2560,"height":1707},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/estructura-fisica-de-las-tablas-y-heap-indices-parte-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Backend","item":"https:\/\/www.codemotion.com\/magazine\/es\/backend-es\/"},{"@type":"ListItem","position":3,"name":"Estructura f\u00edsica de las tablas y HEAP (\u00cdndices parte 2)"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/97a034bd0d0536df0240ef899434fa19","name":"Roberto Carrancio","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/06\/2-100x100.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/06\/2-100x100.png","caption":"Roberto Carrancio"},"description":"Mi nombre es Roberto Carrancio y soy un DBA de SQL server con m\u00e1s de 12 a\u00f1os de experiencia en el sector. Recientemente he sido reconocido como Microsoft MVP en la categor\u00eda Data Platform en SQL Server y en Azure SQL. Durante mis a\u00f1os de experiencia he tenido oportunidad de lidiar con proyectos en compa\u00f1\u00edas de todos los tama\u00f1os y sectores, desde pymes hasta grandes multinacionales. Tambi\u00e9n soy el creador del blog soydba.es donde intento publicar varios art\u00edculos a la semana.","sameAs":["https:\/\/www.soydba.es","https:\/\/www.linkedin.com\/in\/robertocarrancio\/","https:\/\/x.com\/soy_dba","https:\/\/www.youtube.com\/@SoyDBA"],"url":"https:\/\/www.codemotion.com\/magazine\/author\/rocarrancio\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-600x400.jpg","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-600x600.jpg","author_info":{"display_name":"Roberto Carrancio","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/rocarrancio\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-scaled.jpg",2560,1707,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-150x150.jpg",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-300x200.jpg",300,200,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-768x512.jpg",768,512,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-1024x683.jpg",1024,683,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-1536x1024.jpg",1536,1024,true],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-2048x1365.jpg",2048,1365,true],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-100x100.jpg",100,100,true],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-180x128.jpg",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-896x504.jpg",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-400x225.jpg",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-600x400.jpg",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/03\/9948125-600x600.jpg",600,600,true]},"uagb_author_info":{"display_name":"Roberto Carrancio","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/rocarrancio\/"},"uagb_comment_info":0,"uagb_excerpt":"Seguimos con nuestra serie de \u00edndices en SQL Server y vamos a profundizar en la estructura de las tablas que vimos ayer. Adem\u00e1s vamos a introducir conceptos nuevos como las particiones y las tablas HEAP. Antes de continuar, si a\u00fan no lo hab\u00e9is hecho, os recomiendo leer la primera entrega de esta serie de \u00edndices&#8230;&hellip;","lang":"es","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/32390","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/321"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=32390"}],"version-history":[{"count":2,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/32390\/revisions"}],"predecessor-version":[{"id":32512,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/32390\/revisions\/32512"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/32511"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=32390"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=32390"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=32390"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=32390"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}