sql >> Base de Datos >  >> RDS >> Mysql

distribuir datos mysql en varios discos

Puede particionar una tabla en varias unidades. Echa un vistazo al manual oficial, que trata este tema en profundidad.

http://dev.mysql.com/doc/refman/5.5 /es/particionamiento.html

Aquí hay un ejemplo para particionar una tabla existente en varias unidades:

ALTER TABLE mytable
    PARTITION BY RANGE (mycolumn)(
     PARTITION p01 VALUES Less Than (10000)
       DATA DIRECTORY = "/mnt/disk1"
       INDEX DIRECTORY = "/mnt/disk1",
     PARTITION p02 VALUES Less Than (20000)
       DATA DIRECTORY = "/mnt/disk2"
       INDEX DIRECTORY = "/mnt/disk2",
     PARTITION p03 VALUES Less Than MAXVALUE
       DATA DIRECTORY = "/mnt/disk3"
       INDEX DIRECTORY = "/mnt/disk3"
    );

Tenga en cuenta que esto necesita que NO_DIR_IN_CREATE esté desactivado. No parece funcionar en Windows y no parece funcionar con InnoDB.

Si se queda sin espacio en disco en su última partición, puede dividirlo con la siguiente declaración:

ALTER TABLE mytable REORGANIZE PARTITION p03 INTO 
( 
    PARTITION p03 VALUES Less Than (30000)
       DATA DIRECTORY = "/mnt/disk3"
       INDEX DIRECTORY = "/mnt/disk3",
     PARTITION p04 VALUES Less Than MAXVALUE
       DATA DIRECTORY = "/mnt/disk4"
       INDEX DIRECTORY = "/mnt/disk4"
);