Hi Thomas,
Feste Satzaufbauten müssten schneller wiederhergestellt werden, als relationale, das leuchtet mir ein.
es geht auch um so banale Dinge wie die Realisierung eines full table scan über die erste Spalte: Bei fester Satzlänge findest Du den nächsten Satzanfang schneller als bei variabler.
Nur: wird denn in MySQL ein Satz als schlossener Record gespeichert, oder jedes feld in einem eigenen Baum?
Letzteres würde mich sehr wundern, weil dann jeder Zugriff auf mehr als ein Feld sehr langsam werden würde. Sinnvollerweise speichert man die Zeilen schon zusammenhängend ab - wenn man aber nur auf bestimmte Kombinationen von Feldern zugreifen will, dann legt man über diese einen kombinierten Index und bekommt dann die entsprechenden Werte aus einem für diese Anforderung optimierten Baum. Legst Du einen Index über _alle_ Spalten einer Tabelle, dann hast Du vollständig doppelte Datenhaltung - wobei eine der beiden für bestimmte Indexzugriffe optimiert ist, die andere für full table scans.
Da ich ja auf das VarChar-Feld einen Index anlegen möchte (was ja angeblich auf tinytext inzwischen auch funktionieren soll aber nicht tut), könnte das ja vieleicht gar nix bringen. Hier würden mir echte Erfahrungswerte aus tatsächlich existenten Riesentabellen was bringen.
Konkretes CREATE TABLE-Statement bitte, und konkrete Query, die Du mit dem Index tunen willst. Und per EXPLAIN kontrollieren, daß mySQL verstanden hat, was Du erreichen willst.
Viele Grüße
Michael
T'Pol: I meant no insult.
V'Lar: Of course not. You're simply speaking your mind ... as you always have.