Hallo!
Dumm nur, dass MySQL mich nicht einfach in Char ändern lässt, bzw. automatisch wieder in Varchar ändert. Muss morgen mal die Tabelle neu anlegen und ausprobieren wieviel das bringt.
Sobald Du nur eine VARCHAR-Spalte anlegst, wandelt mySQL alle CHAR-Spalten größer 4 Zeichen in VARCHAR-Spalten um.
Nun habe ich mit wegen Stephan Huber seinem Beitrag noch mal das Buch zur Hand genommen.
-
Tabellen haben nur eine feste Länge, wenn alle spalten einen Spaltentpy emit fester Länge haben.
-
Weil es keine Performance mit Spalten variabler Länge verloren geht, werden die Spalten fester Länge in Spalten variabler Länge umgewandelt, weil das Speichervorteile bringt.
Das macht wohl nur mySQL so.
Du kannst nur alle Spalten in CHAR-Spalten umwandel, wenn Du es in einem Rutsch umwandelst.
ALTER TABLE tabelle MODIFY vorname CHAR(20), MODIFY nachname CHAR(20), ... usw.
Sobald Du es nur mit einer Spalte machst, wandelt mySQL sie wieder in VARCHAR um.
Aber Antje Hofmann hat auch noch was interessanten geschrieben. Vielleicht solltest Du über die Tabellenstruktur nachdenken...
Gar nicht so schlecht, daß ich mal wieder ins Buch geschauen habe ...
MfG, André Laugks