Tom: MySQL und binäres Sortieren von Strings

Hello,

kann mir hier irgendwer sagen, ob die Länge einer binär zu sortierenden Spalte vom Typ String begrenzt ist, bzw. der dazugehörige Index eine maximale Länge hat.

Interessieren würde mich das allerdings auch nur im Bereich bis zu einer Stringlänge von ca. 250 Stellen (je ein Byte).

Irgendwo habe ich mal aufgeschnappt, dass die Indexlänge max. 1000Bytes sei. Stimmt das? Dann würde das doch für meinen Fall keine Beschränkung bedeuten, oder?

Liebe Grüße aus dem sonnigen Süden

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de
  1. Ich glaube mal gehört zu haben, dass ein Eintrag im Index eines Strings immer die Maximallänge des Strings hat. Weiß aber nicht warum und für welche DBs das gilt.

    Ich denke aber, wenn du mal so ein Feld anlegst und einen Index drauf setzt, kriegst du ja recht schnell raus ob das geht oder nicht.

  2. Tach!

    Irgendwo habe ich mal aufgeschnappt, dass die Indexlänge max. 1000Bytes sei. Stimmt das?

    Siehe MySQL-Handbuch die Seite zu CREATE INDEX.

    dedlfix.

  3. Hallo,

    kann mir hier irgendwer sagen, ob die Länge einer binär zu sortierenden Spalte vom Typ String begrenzt ist,

    Du meinst, die Länge, die für das Sortieren relevant ist: nein.

    bzw. der dazugehörige Index eine maximale Länge hat.

    Ja.

    Irgendwo habe ich mal aufgeschnappt, dass die Indexlänge max. 1000Bytes sei. Stimmt das?

    jein. Die Indexlänge hängt von der Storage Engine ab. Bei MyISAM stimmen die 1000 Byte, für InnoDB unter MySQL findest Du aktuell 3072 Bytes ... die Blackhole Storage Engine verwendet vermutlich 0 Byte :-)

    http://dev.mysql.com/doc/refman/5.1/en/charset-binary-collations.html

    Freundliche Grüße

    Vinzenz

    1. Hello Vinzenz,

      kann mir hier irgendwer sagen, ob die Länge einer binär zu sortierenden Spalte vom Typ String begrenzt ist,

      Du meinst, die Länge, die für das Sortieren relevant ist: nein.

      bzw. der dazugehörige Index eine maximale Länge hat.

      Ja.

      Irgendwo habe ich mal aufgeschnappt, dass die Indexlänge max. 1000Bytes sei. Stimmt das?

      jein. Die Indexlänge hängt von der Storage Engine ab. Bei MyISAM stimmen die 1000 Byte, für InnoDB unter MySQL findest Du aktuell 3072 Bytes ... die Blackhole Storage Engine verwendet vermutlich 0 Byte :-)

      Danke für die Info.

      Ist die "Blackhole Engine" ein Aprilscherz oder kann man die tatscählich für irgendetwas nützliches brauchen?

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
       ☻_
      /▌
      / \ Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
      1. Tach!

        Ist die "Blackhole Engine" ein Aprilscherz oder kann man die tatscählich für irgendetwas nützliches brauchen?

        Im Handbuch sind alle Storage Engines beschrieben, auch Einsatzmöglichkeiten für die Blackhole Engine.

        dedlfix.

      2. Ist die "Blackhole Engine" ein Aprilscherz oder kann man die tatscählich für irgendetwas nützliches brauchen?

        Macht z.B. für Replikationen Sinn, wenn die Daten nur auf einem der Server vorhanden sein sollen.

        Kann mir vorstellen, wenn ein Master Daten auf mehrere Slaves verteilt, kann damit gesteuert werden, welche Daten auf dem jeweiligen Slave verbleiben und auf dem Master bleibt nur ne leere Datenbank.

        Inwieweit sowas sinnvoll genutzt wird, weiss ich nicht. Das sind reine Gedankenspielchen.