{"id":141,"date":"2017-09-18T22:01:28","date_gmt":"2017-09-18T22:01:28","guid":{"rendered":"http:\/\/www.manualsqlserver.com\/?p=141"},"modified":"2021-11-02T13:06:23","modified_gmt":"2021-11-02T13:06:23","slug":"tablas-particionadas-horizontal","status":"publish","type":"post","link":"https:\/\/manualsqlserver.com\/?p=141","title":{"rendered":"Tablas Partici\u00f3n Horizontal"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQL_TablasParticionadasD.png\" alt=\"\" class=\"wp-image-1229\" width=\"318\" height=\"220\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Tablas Particionadas horizontalmente<\/strong><\/h2>\n\n\n\n<p>Las tablas que tienen muchos registros es conveniente que se particionen, esto ser\u00e1 beneficioso si la base de datos tiene varios archivos y de preferencia inclusive varios grupos en varios discos. (<a href=\"https:\/\/manualsqlserver.com\/?p=85\">Ver Creaci\u00f3n de base de datos<\/a>)<\/p>\n\n\n\n<!--more-->\n\n\n\n<script async=\"\" src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n<ins class=\"adsbygoogle\" style=\"display:block; text-align:center;\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\" data-ad-client=\"ca-pub-2636008503986218\" data-ad-slot=\"1902193434\"><\/ins>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script>\n\n\n\n<h3 class=\"wp-block-heading\">Requisitos<\/h3>\n\n\n\n<ol class=\"wp-block-list\"><li>La base de datos deber\u00eda tener varios archivos en varios grupos para que sea beneficioso. La lectura de varios discos en tablas particionadas que tienen millones de registros es m\u00e1s r\u00e1pida que si no se particiona.<\/li><li>Definir el tipo de dato y los l\u00edmites para los rangos por los cuales se particionar\u00e1 la tabla.<\/li><li>Crear la funci\u00f3n de partici\u00f3n para definir los l\u00edmites.<\/li><li>Crear el esquema de partici\u00f3n para asignar los rangos a cada grupo dentro de la base de datos.<\/li><\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Proceso<\/h3>\n\n\n\n<p><strong>1. Crear FUNCION DE PARTICION: el objetivo es definir los rangos<\/strong><br>CREATE PARTITION FUNCTION NombreFunci\u00f3nPartici\u00f3n ( TipoDato )<br>AS RANGE [ LEFT | RIGHT ] FOR VALUES ( l\u00edmites)<\/p>\n\n\n\n<p><strong>2. Crear Esquema de Partici\u00f3n: objetivo, repartir los rangos definidos\u00a0en la funci\u00f3n de partici\u00f3n en los filegroups<\/strong><br>CREATE PARTITION SCHEME NombreEsquemaPartici\u00f3n<br>AS PARTITION NombreFuncionPartici\u00f3n<br>TO ( Grupos de Archivos)<\/p>\n\n\n\n<p><strong>3. Crear tabla\u2026 al finalizar la definici\u00f3n de la tabla se debe especificar el esquema de partici\u00f3n y el campo por el que se particionar\u00e1.<\/strong><br>Create table \u00a0NombreTabla (NombreCampo, &#8230; ) <strong>on NombreEsquemaPartici\u00f3n (NombreCampo)<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ejercicio<\/h3>\n\n\n\n<p>Para este ejercicio se va a crear una tabla de clientes, la base de datos se va a crear en un solo disco, la unidad C:, ser\u00eda mejor crear los grupos de archivos en unidades de disco diferentes. Los rangos se definen de acuerdo a las letras con las que comienza el c\u00f3digo, se han definido los l\u00edmites con los caracteres D, L , Q y V.<\/p>\n\n\n\n<p><strong>Primero crear la Base de datos<\/strong><\/p>\n\n\n\n<p>xp_create_subdir &#8216;C:\\Bases&#8217;<br>go<br>Create database ERP<br>on Primary (name=&#8217;ERP01&#8242;, filename=&#8217;C:\\Bases\\ERP01.mdf&#8217;),<br>filegroup VENTAS<br>(name=&#8217;ERP02&#8242;, filename=&#8217;C:\\Bases\\ERP02.ndf&#8217;),<br>filegroup RRHH<br>(name=&#8217;ERP03&#8242;, filename=&#8217;C:\\Bases\\ERP03.ndf&#8217;)<br>log on<br>(name=&#8217;ERP04&#8242;, filename=&#8217;C:\\Bases\\ERP04.ldf&#8217;)<br>go<br>use ERP<br>go<\/p>\n\n\n\n<p><strong>&#8212; Funci\u00f3n de partici\u00f3n<\/strong><br>CREATE PARTITION FUNCTION FuncionParticionClientesCodigoFP (nchar(15))<br>AS RANGE LEFT FOR VALUES (&#8216;D&#8217;,&#8217;L&#8217;,&#8217;Q&#8217;,&#8217;V&#8217;)<br>go<br><strong>&#8212; Esquema de partici\u00f3n<\/strong><br>CREATE PARTITION SCHEME EsquemaParticionClientesCodigoEP<br>AS PARTITION FuncionParticionClientesCodigoFP<br>TO (RRHH,VENTAS,[PRIMARY],[PRIMARY],RRHH)<br>go<\/p>\n\n\n\n<p>Create table Clientes<br>(<br>ClientesCodigo nchar(15) ,<br>ClientesPaterno nvarchar(100),<br>ClientesMaterno nvarchar(100),<br>ClientesNombres nvarchar(100),<br>constraint ClientesPK Primary key (ClientesCodigo)<br>) <strong>on EsquemaParticionClientesCodigoEP (ClientesCodigo)<\/strong><br>go<\/p>\n\n\n\n<p>Note al final en negrita la especificaci\u00f3n que es una tabla particionada por el campo ClientesCodigo y el esquema EsquemaParticionClientesCodigoEP.<\/p>\n\n\n\n<p>Puede ver el resultado en las Propiedades de la tabla<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQL_TablasParticionadas.png\" alt=\"\" class=\"wp-image-1228\" width=\"805\" height=\"497\" srcset=\"https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQL_TablasParticionadas.png 1022w, https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQL_TablasParticionadas-300x186.png 300w, https:\/\/manualsqlserver.com\/wp-content\/uploads\/2020\/05\/ManualSQL_TablasParticionadas-768x475.png 768w\" sizes=\"auto, (max-width: 805px) 100vw, 805px\" \/><\/figure><\/div>\n\n\n\n<script async=\"\" src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n<ins class=\"adsbygoogle\" style=\"display:block; text-align:center;\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\" data-ad-client=\"ca-pub-2636008503986218\" data-ad-slot=\"1902193434\"><\/ins>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tablas Particionadas horizontalmente Las tablas que tienen muchos registros es conveniente que se particionen, esto ser\u00e1 beneficioso si la base de datos tiene varios archivos y de preferencia inclusive varios grupos en varios discos. (Ver Creaci\u00f3n de base de datos)<\/p><p><a class=\"more-link btn\" href=\"https:\/\/manualsqlserver.com\/?p=141\">Seguir leyendo<\/a><\/p>\n","protected":false},"author":1,"featured_media":1229,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[28,46,47,57],"class_list":["post-141","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-esquemastablas","tag-esquemas","tag-particion","tag-permisos","tag-tablas","nodate","item-wrap"],"_links":{"self":[{"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/posts\/141","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=141"}],"version-history":[{"count":2,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/posts\/141\/revisions"}],"predecessor-version":[{"id":2596,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/posts\/141\/revisions\/2596"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=\/wp\/v2\/media\/1229"}],"wp:attachment":[{"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=141"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=141"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/manualsqlserver.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=141"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}