Mailinglisten-Archive |
> Aloha, > > ---------- > Von: braini_(at)_t-online.de[SMTP:braini_(at)_t-online.de] > > ich überlege derzeit (um den Platzbedarf meiner Daten zu > optimieren), statt CHAR den Typ VARCHAR einzusetzen, daher möchte > ich gerne wissen ob jemand schon mal die beiden performace-mäßig > verglichen hat, d.h. um wieviel langsamer ist VARCHAR ? > > Das ist eine gute Frage ob und wieviel langsamer VARCHAR > gegenüber CHAR ist. > > Dummerweise weis ich nicht, wie genau mysql die Daten in > der Datenbank liest. Ich denke mal, daß mindestens der > Beginn jedes Datensatzes in einer Art Index-Tabelle liegt. > Sollten auch die Anfänge jedes Elements eines Datensatzes > in einer Indextabelle liegen, weis mysql sofort wo genau > jeder Datensatz und jedes beteiligte Element steht. > Allerdings glaube ich doch, daß aus Performance-Gründen > nur der Beginn eines Datensatzes notiert wird - und das > auch nur wenn das ein Indiziertes Feld ist. > > Daraus würde sich ergeben, daß bei fester Satzlänge mysql > die Elementanfänge findet, wenn der Satzanfang bekannt ist. > > Dies heist aber auch, daß das bei VARACHAR/TEXT/BLOB und > ihren Varianten nicht geht --> langsamer. > > Allerdings wird auch weniger Speicherplatz benötigt, und > damit kann die Festplatte schneller über die Daten fräsen, > auch kann das Betriebssystem die kleineren Dateien besser > cachen --> schneller. > > Das hängt aber - wie am Anfang gesagt - davon ab, wie die > Datenbank auf die Daten zugreift. > > Gelesen hab ich auch schon im mysql-Manual, daß feste Satz- > längen performanter sein sollen. > > Im Gegensatz dazu legt aber SAP alle Daten in VARCHAR-Feldern > in der Oracle-Datenbank ab. Also unperformant kann das auch > nicht sein, sonst hätte man es anders gemacht (die > Voraussetzungen sind nämlich vorhanden : in SAP ist jedes > Datenfeld, genau definiert wie lang es ist und welcher > Typ usw) > > > ==> Ausprobieren und die Ergebnisse posten ;-) > > Viele Grüße, Mathias > > > --- *** Abmelden von dieser Mailingliste funktioniert per E-Mail *** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe
php::bar PHP Wiki - Listenarchive