Bienvenidos sean a este post, hoy veremos las distintas operaciones para modificar las particiones del titulo.
Antes de comenzar a ver como modificar las particiones vamos a crear la siguiente tabla en alguna base que dispongan:
MariaDB [base1]> create table articulos (
-> id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
-> fecha DATE NOT NULL,
-> autor VARCHAR(100),
-> idioma TINYINT UNSIGNED,
-> texto TEXT,
-> PRIMARY KEY (id, fecha)
-> )
-> engine = InnoDB
-> PARTITION BY HASH(YEAR(fecha))
-> PARTITIONS 8;
Como pueden ver es una tabla donde tendremos articulos con algunos datos para facilitarnos su identificacion y busqueda tambien establecimos un particionamiento por medio de HASH y solo le pasamos la cantidad de particiones, con esto comentado comencemos con las modificaciones.
Con los tipos HASH o KEY tenemos permitidos cuatro tipo de operaciones para modificarlas:
- Agregar una particion
- Unir particiones existentes
- Cambiar propiedades de particiones
- Remover todas las particiones
En la primera operacion es muy similar a la que vimos en el post anterior pero esta es mucho mas simple, dado que no tenemos ninguna restriccion sino que simplemente debemos informar la cantidad de particiones que queremos agregar, veamos un ejemplo:
MariaDB [base1]> alter table articulos add partition partitions 2;
Tambien podemos hacer lo mismo de una forma mas extensa:
MariaDB [base1]> alter table articulos add partition(
-> partition p8,
-> partition p9);
Este tipo de sintaxis nos permite utilizar nombres no predeterminados o poder especificar paths para las particiones en archivos fisicos, pero de eso hablaremos mas adelante.
Para la segunda operacion debemos usar la instruccion COALESCE las cual nos permite unir una o mas particiones a otras copiando toda la informacion entre ellas, si bien esta operacion es relativamente rapida, veamos un ejemplo:
MariaDB [base1]> alter table articulos coalesce partition 2;
En este caso el valor que pasamos es la particion que deseamos «borrar» pero esta solo borrara la particion y la informacion de esta se copiara entre otras particiones, para renombrar una particion o cambiar sus propiedades podemos usar a REORGANIZE de la misma forma que vimos en el post anterior, veamos un ejemplo:
MariaDB [base1]> alter table articulos reorganize partition p0 into (
-> partition p000);
En este caso lo usamos para cambiar el nombre la particion p0.
Para la ultima operacion usaremos la misma instruccion que vimos en el post anterior, REMOVE PARTITIONING, la cual eliminara todas las particiones pero no eliminara los datos, veamos como es su sintaxis:
MariaDB [base1]> alter table articulos remove partitioning;
Por ultimo estos tipos de particionamiento no soportan un DROP como si lo hacen RANGE o LIST, si bien podemos usar a COALESCE para eliminar una particion no nos borrara la informacion como lo hace DROP, lo cual es una ventaja y desventaja porque nos asegura que no borraremos informacion sin querer pero nos impide eliminar informacion de una particion que no necesitamos mas.
En resumen, hoy hemos visto como modificar particiones de HASH y KEY, las operaciones que podemos realizar, en este caso lo vimos con una particion HASH, y cada una de las instrucciones que podemos usar, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.


Donación
Es para mantenimento del sitio, gracias!
$1.50
