28.5 Typenveränderungen durch den MySQL Optimizer
Falls sie sich eventuell wundern, daß ein von Ihnen angelegter Spaltentyp
verändert wurde, dann hat das den Grund, daß der Optimizer von MySQL die
Struktur zwecks höherer Performance geändert hat:
- VARCHAR mit einer Länge von weniger als 4 Buchstaben werden
automatisch in ein Array von CHAR() umgewandelt. Alle Spalten, die als
Spalten mit variabler Länge definiert wurden (VARCHAR, TEXT, BLOB), bewirken, daß auch die ganze
Zeile (Reihe) als vaiable Länge gespeichert wird. (Siehe auch
rowformat
)
- Spalten, bei denen alle Spalten länger als 3 Buchstaben sind, werden
automatisch nach VARCHAR konvertiert.
- Ungerade Längen von Spaltentypen werden auf Längen mit geraden Zahlen
gerundet.
- TIMESTAMP Größen müssten zwischen 2 und 14 Bytes betragen. Größere
Werte werden auf 14 zurückgesetzt.
- Wenn TIMESTAMP Spalten auf das Attribut NULL gesetzt werden, dann wird stets
nur die aktuelle Zeit darin eingetragen.
- In Verbindung mit ODBC Treiber und ACCESS, z.B. wandelt MySQL
automatisch bestimmte Typen (TEXT, MEMO) in eigene Formate um. Das Format
ist in Abhängigkeit von der ACCESS Version und dem MyODBC Treiber stets
verschieden (ACCESS hat viele verschiedene Probleme und BUGS).