Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server 2005 wird langsamer, wenn ich weiterhin Zeilen hinzufüge

Da ist dein erstes Problem. Datenbanken funktionieren am besten, wenn Sie ihnen mitteilen, welche Art von Daten Sie haben, und den kleinsten Datentyp auswählen, der für Ihre Daten geeignet ist. NVARCHAR(Max) ist die ineffizienteste Wahl, die Sie treffen konnten.

Und das ist Ihr zweites Problem. Bei jeder Einfügung prüfen Sie, ob Sie bereits eine Zeile eingefügt haben, die für bestimmte Spalten die gleichen Werte wie eine andere Zeile hat. Da Sie der Datenbank nicht gesagt haben, dass sie diese Spalten indizieren soll, muss sie jedes Mal die gesamte Tabelle überprüfen, sodass Ihre Abfrage immer langsamer wird, wenn die Tabelle wächst. Um einen Primärschlüssel zu einer bestehenden Tabelle hinzuzufügen, können Sie Folgendes verwenden:

ALTER TABLE table1 ADD CONSTRAINT pk_table1 PRIMARY KEY (Ticker, DateStamp)

Siehe hier für weitere Informationen.