Schrift
[thread]3475[/thread]

Unique oder Index?



<< >> 7 Einträge, 1 Seite
Gast Gast
 2004-06-29 22:46
#32322 #32322
Hallo

Auf ein Feld in einer tabelle (Es gibt schon einen Primär Schlüssel), möchte ich einen Index bzw. einen Unique legen. (Die Werte kommen wirklich nur 1 mal vor). Wasist sinnvoller? Unique oder Index oder beides?
busunsl
 2004-07-02 14:43
#32323 #32323
User since
2004-07-02
5 Artikel
BenutzerIn
[default_avatar]
Der unique constraint ist auf jeden Fall sinnvoller, da er einen wichtigen Hinweis für den Query Optimizer gibt.
Jeder unique constraint wird durch einen Index unterstützt, deshalb brauchst Du keinen Index auf das Feld zu legen.

Bernd
<a href=http://www.perlmonks.org/index.pl?node_id=61798>busunsl@perlmonks.org</a>
Relais
 2004-07-02 15:29
#32324 #32324
User since
2003-08-06
2244 Artikel
ModeratorIn
[Homepage] [default_avatar]
Willkommen @busunsl! =)
Erst denken, dann posten --
26. Deutscher Perl- u. Raku -Workshop 15. bis 17.04.2024 in Frankfurt/M.

Winter is Coming
Thorium
 2004-07-02 16:27
#32325 #32325
User since
2003-08-04
232 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=busunsl,02.07.2004, 12:43]Der unique constraint ist auf jeden Fall sinnvoller, da er einen wichtigen Hinweis für den Query Optimizer gibt.
Jeder unique constraint wird durch einen Index unterstützt, deshalb brauchst Du keinen Index auf das Feld zu legen.

Bernd[/quote]
Ich behautpe hier mal, ohne es zu wissen, dass das von Datenbank zu Datenbank unterschiedlich ist...
Und ein Index ist auch nur sinnvoll, wenn man das Feld zum selecten braucht..
Per|li|nist der; -en, -en <zu ↑...ist>: a) Anhänger, Vertreter der radikalen Perlinisten die Perl als die einzig wahre Sprache ansehen; b) Mitglied einer perlinistischen Community.
busunsl
 2004-07-02 17:06
#32326 #32326
User since
2004-07-02
5 Artikel
BenutzerIn
[default_avatar]
> Ich behautpe hier mal, ohne es zu wissen, dass das von Datenbank zu Datenbank unterschiedlich ist...

Bei allem, was sich RDBMS (Relational DataBase Management System) schimpft ist das so. (Und hier ist sogar MS Access eingeschlossen :-)

> Und ein Index ist auch nur sinnvoll, wenn man das Feld zum selecten braucht..

Da geb' ich Dir völlig Recht, deshalb wird der unique constraint ja auch durch einen Index unterstützt.
Das RDBMS macht nämlich bei insert/update einen select auf die Tabelle, um festzustellen, ob der Eintrag schon vorhanden ist.
Wenn der unique constraint nicht durch einen Index unterstützt wäre, würde jeder insert zu einem Tablescan führen, und das wäre wirklich nicht wünschenswert.

Bernd
<a href=http://www.perlmonks.org/index.pl?node_id=61798>busunsl@perlmonks.org</a>
Magic
 2004-07-02 20:44
#32327 #32327
User since
2003-09-30
91 Artikel
BenutzerIn
[Homepage] [default_avatar]
Wie schon erwähnt wurde, ist ein unique auch gleichzetig ein Index. In Deinem Falle wäre vielleicht ein unique zu bevorzugen, da eine Fehlermeldung ausgegeben wird, sollte der Wert doch einmal doppelt angegeben werden.
Wenn's eh egal ist, ob der Wert doppelt kommt, oder es aus anderen Gründen nicht möglich ist, diesen Wert mehrfach vorkommn zu lassen, tuts ein index sicherlich genauso.

Gruss
Stefan
Ein Weiser gibt nicht die richtigen Antworten, sondern er stellt die richtigen Fragen.
jan10001
 2004-07-03 18:20
#32328 #32328
User since
2003-08-14
962 Artikel
BenutzerIn
[default_avatar]
Quote
Auf ein Feld in einer tabelle (Es gibt schon einen Primär Schlüssel), möchte ich einen Index bzw. einen Unique legen. (Die Werte kommen wirklich nur 1 mal vor). Wasist sinnvoller? Unique oder Index oder beides?
Wenn das Feld Unique sein soll nimm es in den Primärkey mit rein.
<< >> 7 Einträge, 1 Seite



View all threads created 2004-06-29 22:46.