2016-08-10 4 views
0

Ich habe eine Spalte HashKey, den ich es in Suchanfragen verwende, aber das kann doppelte Werte haben. Im Moment haben wir ID-Spalte, die wir als Primärschlüssel gemacht haben. Aber ich wollte jetzt zusammengesetzten PrimärschlüsselBrauchen Sie die richtige Kombination von Composite-Schlüssel und Bestellung

ALTER TABLE Events 
ADD CONSTRAINT PK_Events_ID_HashKey PRIMARY KEY (HashKey, ID) 

Also meine Frage ändern, wenn ich auf der HashKey-Suche wird es alle Vorteile des Cluster-Index scannen nehmen. Muss ich einen separaten nicht gruppierten Index nur für die HashKey-Spalte erstellen?

Wir tun meist gleiche Anzahl von Einsätzen/Update und Suchoperationen

Welche nützlichsten in Bezug auf die Leistung sein würde (Einfügevorgang Unter Berücksichtigung auch)

+0

Können Sie näher darauf eingehen ..“ Wenn ich nach dem HashKey suche, wird es den vollen Vorteil des Cluster Index Scan " – TheGameiswar

+0

Ich meine, wird es Cluster Index Scan sein?. Und wenn es sich um einen Cluster-Index handelt, müssen Daten beim Einfügen neu angeordnet werden. Also, wenn ich für nicht gruppierten Index gehe, wird es besser als Clustered Index in meiner Anforderung sein? –

Antwort

0

Wenn Ihre Abfragen versuchen nur abrufen Hashkey, dann würde empfehlen, ich es als separaten Index hinzugefügt, die auch breit gruppierten Schlüssel vermeiden, würde der Index unter Form sein ..

create index nci_test on table(hashkey) 

es besteht keine Notwendigkeit id Spalt hinzuzufügen, da es prima ist ry-Taste und wird auch Teil dieses Index sein ..

Ich werde über Insert- oder Update-Leistung nicht stören, bis ich durch Tests auf akzeptable Leistungsniveaus abschließen kann ..

+0

Ich weiß nicht, warum es abgelehnt wird? –

+0

Ich bin mir nicht sicher, ich tat nicht, Downvote, wenn Sie diesem Link folgen und Ihre Frage entsprechend gestalten, erhalten Sie garantiert erstaunliche Antworten: https: //spaghettidba.com/2015/04/24/how- to-post-at-sql-Frage-auf-einem-öffentlichen-Forum / – TheGameiswar

Verwandte Themen