Marc Reichelt: Enum-Basteleien

Beitrag lesen

Hallo Tom,

Aber irgendeine intelligente Lösung müssen sie sich ja doch überlegt haben, denn wenn 65.535 gültige  Werte zulässig sind, für die ich noch nicht einmal eine Feldlängenbeschränkung finden konnte (für die Klartexte), dann kommen da ja ggf. auch mal 4MB Speicherbedarf zustande. Wenn man die Werte jetzt noch in eine andere Struktur (Baum) bringen wollte, können das noch 500kB mehr werden...

4,5MB nur für ein enum-Feld würden den Server schon ganz schön belasten.

Hier geht es weniger um den Speicherplatz - denn ein enum von 4 MB Typengröße wird vermutlich nicht so oft eingesetzt.
Viel entscheidender ist es, bei häufigen Datenbankabfragen die Strings in Integer zu wandeln. Dies kann in Hashes geschehen. Wie dedlfix bereits angemerkt hat kann es aber gut sein dass hier zu viele Kollisionen entstehen - ein Trie wäre also eventuell auch keine schlechte Idee.

Egal wie wir es auch drehen: Die Verwendung von Zahlen könnte in diesem Fall einen (wenn auch eventuell geringen) Geschwindigkeitszuwachs bedeuten.

Grüße

Marc Reichelt || http://www.marcreichelt.de/

--
DPRINTK("Last time you were disconnected, how about now?");
        linux-2.6.6/drivers/net/tokenring/ibmtr.c
Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)