una tabla registro modificar fila eliminar datos como mysql sql database database-partitioning database-administration

tabla - como modificar un registro en mysql



¿Cómo eliminar particiones sin perder datos en MySQL? (4)

Tengo una mesa como:

create table registrations( id int not null auto_increment primary key, name varchar(50), mobile_number varchar(13)) engine=innodb partition by range(id) ( partition p0 values less than (10000), partition p0 values less than (20000), partition p0 values less than max value);

No exactamente igual que arriba pero similar a eso ...

Ahora suponga que mi tabla tiene 200000 filas y ahora quiero eliminar particiones de la tabla y reorganizarlas de acuerdo con el requisito sin VALOR MÁX.

¿Puede alguien ayudarme a reorganizar la partición sin eliminar datos o eliminar tablas y recrearlas?


Puede reorganizar la partición p0 utilizando el comando ALTER TABLE .. REORGANIZE PARTITION .

http://dev.mysql.com/doc/refman/5.5/en/partitioning-management-range-list.html

Si pretende cambiar la partición de una tabla sin perder datos, use ALTER TABLE ... REORGANIZE PARTITION

ALTER TABLE registrations REORGANIZE PARTITION p0 INTO ( PARTITION p0 VALUES LESS THAN (10000), PARTITION p0 VALUES LESS THAN (20000) );

Tenga en cuenta que esto no tendrá sentido hasta que realmente cree varias particiones, por ejemplo,

ALTER TABLE registrations REORGANIZE PARTITION p0 INTO ( PARTITION p0 VALUES LESS THAN (10000), PARTITION p1 VALUES LESS THAN (20000), PARTITION p2 VALUES LESS THAN MAXVALUE );

Echa un vistazo a la partición RANGE en MySQL

Si su partición p2 es demasiado grande, puede dividirla de la misma manera.


Reorganizar particiones no requiere eliminar todas las particiones existentes. Puede especificar la nueva partición en la sintaxis de ALTER TABLE directamente, y no se perderán datos.

ALTER TABLE registrations PARTITION by RANGE(id) ( PARTITION p1 VALUES LESS THAN (10000), PARTITION p2 VALUES LESS THAN (20000), PARTITION p3 VALUES LESS THAN (30000), PARTITION p4 VALUES LESS THAN (40000), PARTITION p5 VALUES LESS THAN (MAXVALUE);

PS probado con MySQL 5.7.11



ALTER TABLE tbl REMOVE PARTITIONING;