Announcement

Collapse
No announcement yet.

Wieso kann ich keinen Sekundärindex erstellen?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wieso kann ich keinen Sekundärindex erstellen?

    Hallo,<br><br>irgendwie kann ich keinen Sekundärindex bei Firebird 1.5 RC6 (Windows 2000 SP4) erstellen.<pre>SET TERM ^;
    CREATE DOMAIN SHAUTO AS INTEGER NOT NULL^
    CREATE DOMAIN SHSTR10 AS VARCHAR(10) COLLATE DE_DE^
    CREATE DOMAIN SHSTR110 AS VARCHAR(110) COLLATE DE_DE^<br>

    CREATE GENERATOR G_BANKENID^<br>

    CREATE TABLE BANKEN (
    ID SHAUTO,
    BANK SHSTR110,
    BLZ SHSTR10
    )^<br>

    ALTER TABLE BANKEN ADD CONSTRAINT PK_BANKEN PRIMARY KEY (ID)^<br>
    <b>CREATE INDEX SK_BANK ON BANKEN (BANK)^</b>
    </pre>Die Datenbank wurde mit dem Sprachtreiber iso8859_1 angelegt.<br><br>Hat jemand eine Idee?<br><br>Vielen Dank bereits im vorhinein<br>Stephan H.

  • #2
    Weil Du mit COLLATE DE_DE keinen Index auf einem Feld anlegen kannst, das ein VARCHAR(110) ist.<br>
    Ein Index kann max. 250 (ca) Bytes lang sein, COLLATE DE_DE drittelt das ganze aber, da diese Collation 3 Byte je Character benötigt.<p>
    Luc

    Comment


    • #3
      Vielen Dank Lucas,<br><br>hierzu habe ich noch 1 Frage:<br>Gibt es eine Möglichkeit die Begrenzung von 250 Bytes pro Index zu erhöhen (nur für diesen 1 Index) oder den Index aufzuteilen.<br><br>Stephan H

      Comment


      • #4
        Hallo Stephan<br>
        Nein, da gibt es keine Möglichkeit.<br>
        Und aufteilen auf mehrere Felder verringert die Maximalgröße noch mehr (das weiß Thomas sicher auswendig, wieviele Bytes pro zusätzlicher Spalte "draufgehen")<br>
        Wieso ist eine Bank bei Dir 110 Zeichen lang?<br>
        Ist das nicht etwas übertrieben?<br>
        <p>
        Luc

        Comment


        • #5
          Hallo Lucas,<br><br>110 Zeichen sind eigentlich übertrieben. Dieses Feld verwende ich, um die BLZ von der Deutschen Bundesbank zu aktualisieren, während dem Importieren kann es sein, dass hier zusätzlich der Ort eingetragen wird. Dieses Feld wird dann bei der Weiterverarbeitung wieder aufgeteilt. Mit anderen Worten muss ich diesen Import umstellen, da es mir ohne Index einfach zu lange dauert.<br><br>Wenn ich dich richtig verstanden habe, dann kann ich auch keinen zusammengesetzten Index erstellen, die die 250 Byte (ca.) übersteigen.<br><br>Stepha

          Comment


          • #6
            Hallo Stephan,

            >Wenn ich dich richtig verstanden habe, dann kann ich auch keinen zusammengesetzten Index erstellen, die die 250 Byte (ca.) übersteigen.

            Korrekt.

            Gruß

            Torste

            Comment

            Working...
            X