U kunt een tabel over meerdere schijven verdelen. Bekijk de officiële handleiding waarin dit onderwerp uitgebreid wordt behandeld.
http://dev.mysql.com/doc/refman/5.5 /en/partitioning.html
Hier is een voorbeeld om een bestaande tabel over meerdere schijven te verdelen:
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"
);
Houd er rekening mee dat dit NO_DIR_IN_CREATE nodig heeft om uit te staan. Het lijkt niet te werken in Windows, en het lijkt niet te werken met InnoDB.
Als u geen schijfruimte meer heeft op uw laatste partitie, kunt u deze splitsen met de volgende instructie:
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"
);