Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL Server 2005 ralentit car je continue d'ajouter des lignes

Voilà votre premier problème. Les bases de données fonctionnent mieux si vous leur indiquez le type de données dont vous disposez et choisissez le plus petit type de données qui convient à vos données. NVARCHAR(Max) est à peu près le choix le plus inefficace que vous auriez pu faire.

Et c'est votre deuxième problème. À chaque insertion, vous vérifiez si vous avez déjà inséré une ligne qui a les mêmes valeurs qu'une autre ligne pour certaines colonnes. Comme vous n'avez pas demandé à la base de données d'indexer ces colonnes, elle doit vérifier l'intégralité de la table à chaque fois, de sorte que votre requête devient de plus en plus lente à mesure que la table s'agrandit. Pour ajouter une clé primaire à une table existante, vous pouvez utiliser ceci :

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

Voir ici pour plus d'informations.