Keine Kompression, sondern die eingestellte Ausrichtung wird übergangen, und jedes Element beginnt mit
packed direkt nachdem das vorige endet. Ohne
packed werden die Elemente an 8 Byte (Standardeinstellung - kann geändert werden) ausgerichtet, so das ein Element nicht z.B. am 4. Byte der Struktur beginnen kann, sondern immer nur in 8 Byte-Schritten.
Das ist/war eine Geschwindigkeitsfrage, und auch zur Kompatibilität zu anderen Sprachen/Settings. Mal abgesehen vom x86 haben viele CPUs sonst auch Probleme mit nicht ausgerichteten Feldern - so wohl auch der Athlon64. Den kann man damit richtig schön ärgern und langsam machen
. x86er korrigieren das intern. (afaik!)
Zum Schreiben ist
packed hingegen sehr praktisch, da ein Datentyp der nicht genau an einer Grenze aufhört so nicht mit Nullen aufgefüllt werden muss (Padding), und dann im File doch etwas "schöner" aussieht
.
gruss,
dizzy
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel