Wenn ich meinen Tisch extrahiere, bekomme ich das. Die Tabelle hat eine ID
Spalte, die eine Identitätsspalte (autoinc) ist.Beschleunigung der SQL-Abfrage mit Index für die Identitätsspalte oder die gesuchte Spalte?
Dann gibt es noch die lesbare Kundennummer, die theoretisch eindeutig ist, aber die Tabelle erzwingt nichts bisher.
Meine Kunden suchen nach der Kundennummer und nicht nach der ID.
Meine Frage jetzt: Sollte ich noch einen Index (wenn ja Clustered/Nonclustered?) Zur Spalte CUSTERMERNUMBER
hinzufügen, um die Geschwindigkeit der Suche zu erhöhen?
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE Customer
(
[ID] [int] IDENTITY(1,1) NOT NULL,
[CUSTOMERNUMBER] [nvarchar](50) NULL,
-- other columns
CONSTRAINT [PK_Customer]
PRIMARY KEY CLUSTERED ([ID] ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
Ja ein Index würde helfen. Sie können den Cluster jedoch nicht gruppieren, da Ihr Primärschlüssel bereits der Clustered-Index ist. Brauchst du wirklich nvarchar hier zu verwenden? Planen Sie Zeichen außerhalb des ASCII-Zeichensatzes als Teil Ihrer Kundennummer? –
Die Kundennummer ist nur "345345453543534" keine alphabetischen Zeichen. – Elisabeth