MySQL partitionierte Tabelle auf mehreren Festplatten
Hallo zusammen,
aus Performance-Gründen möchte ich eine relativ große MySQL-Tabelle auf mehrere Festplatten verteilen. Es soll später so sein, dass auf einer gesonderten Festplatte alte Daten archiviert sind, während die aktuellen Daten auf der Hauptfestplatte zur Verfügung stehen.
Jetzt wollte ich das mal ausprobieren und habe mir unter Windows 2003 64 Bit den MySQL-Server Version 5.1.35 (auch 64 Bit) installiert.
Hier mal der Befehl, mit dem ich die Tabelle erzeuge:
Die angegebenen Pfade existieren so und sind für den MySQL-Server auch beschreibbar (getestet).
Sobald ich diesen Query allerdings ausführe, wird die Tabelle richtig erstellt, im angegebenen DATA_DIRECTORY werden aber keine Daten erzeugt.
Auch nicht, wenn ich eine neue Zeile in die Tabelle einfüge.
Mir wird beim Ausführen dieses Befehls aber auch keine Fehlermeldung angezeigt, was aber passiert, wenn ich testweise mal einen Laufwerksbuchstaben angebe, der garnicht existiert.
Was mache ich da falsch?
Bin für jeden Hinweis dankbar
Viele Grüße aus dem Tal
Max
aus Performance-Gründen möchte ich eine relativ große MySQL-Tabelle auf mehrere Festplatten verteilen. Es soll später so sein, dass auf einer gesonderten Festplatte alte Daten archiviert sind, während die aktuellen Daten auf der Hauptfestplatte zur Verfügung stehen.
Jetzt wollte ich das mal ausprobieren und habe mir unter Windows 2003 64 Bit den MySQL-Server Version 5.1.35 (auch 64 Bit) installiert.
Hier mal der Befehl, mit dem ich die Tabelle erzeuge:
CREATE TABLE `tabelle` (
`ID` int(11) NOT NULL auto_increment,
`Feld2` int(11) NOT NULL default '0',
`Feld3` datetime NOT NULL default '0000-00-00 00:00:00',
`Feld4` int(11) NOT NULL default '0',
PRIMARY KEY (`ID`, `Feld3`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=19169294 ;
PARTITION BY RANGE ( MONTH(Feld3))
SUBPARTITION BY HASH (TO_DAYS(Feld3)) (
PARTITION p0 VALUES LESS THAN (4) (
SUBPARTITION s0
DATA DIRECTORY = 'D:\\__MySQL-Data\\dat\\p0'
INDEX DIRECTORY = 'D:\\__MySQL-Data\\idx\\p0',
SUBPARTITION s1
DATA DIRECTORY = 'E:\\__MySQL-Data\\dat\\p0'
INDEX DIRECTORY = 'E:\\__MySQL-Data\\idx\\p0'
),
PARTITION p1 VALUES LESS THAN (8) (
SUBPARTITION s2
DATA DIRECTORY = 'D:\\__MySQL-Data\\dat\\p1'
INDEX DIRECTORY = 'D:\\__MySQL-Data\\idx\\p1',
SUBPARTITION s3
DATA DIRECTORY = 'E:\\__MySQL-Data\\dat\\p1'
INDEX DIRECTORY = 'E:\\__MySQL-Data\\idx\\p1'
),
PARTITION p2 VALUES LESS THAN (13) (
SUBPARTITION s4
DATA DIRECTORY = 'D:\\__MySQL-Data\\dat\\p2'
INDEX DIRECTORY = 'D:\\__MySQL-Data\\idx\\p2',
SUBPARTITION s5
DATA DIRECTORY = 'E:\\__MySQL-Data\\dat\\p2'
INDEX DIRECTORY = 'E:\\__MySQL-Data\\idx\\p2'
)
);
Die angegebenen Pfade existieren so und sind für den MySQL-Server auch beschreibbar (getestet).
Sobald ich diesen Query allerdings ausführe, wird die Tabelle richtig erstellt, im angegebenen DATA_DIRECTORY werden aber keine Daten erzeugt.
Auch nicht, wenn ich eine neue Zeile in die Tabelle einfüge.
Mir wird beim Ausführen dieses Befehls aber auch keine Fehlermeldung angezeigt, was aber passiert, wenn ich testweise mal einen Laufwerksbuchstaben angebe, der garnicht existiert.
Was mache ich da falsch?
Bin für jeden Hinweis dankbar
Viele Grüße aus dem Tal
Max
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 117586
Url: https://administrator.de/contentid/117586
Ausgedruckt am: 23.11.2024 um 01:11 Uhr
2 Kommentare
Neuester Kommentar