Je suis analyste de rapports et "novice" pour SQL Server. J'ai une vue joignant 2 tables avec 100 colonnes - 50 sont NVARCHAR(255) Null
par défaut, tous les autres sont int
ou float
.Performances des colonnes de la table grand SQL Server 2012
La table peut aller jusqu'à 1 million de lignes et les performances sont horribles lors de l'extraction des données à l'aide de SQL Server, prend une heure et manque de mémoire. La plupart de mes NVARCHAR(255)
sont actuellement limitées à 10 & 50 octets dans la table d'origine, donc 255 n'est pas nécessaire. En excluant les problèmes de jointure SQL, y a-t-il des avantages en termes de performances pour réduire la taille des colonnes des 50 à leurs véritables limites?
J'ai vu des données variables dans le forum à ce sujet: certains articles indiquent que j'obtiendrais un gain de performance en termes de taille de page en réduisant cela pour que les données soient "IN-ROW". Inversement, j'ai lu où le NVARCHAR(255)
extrait seulement la taille réelle des données de 10 ou 50 cela ne peut pas causer de problème de performance.
Aidez s'il vous plaît?
Merci à tous!
Rebelle
Bienvenue sur SO! Sans rapport, mais une suggestion: cela ressemble à un * lot * de données à inclure dans si peu de tables - pensez à regarder [normalisation de la base de données] (https://en.wikipedia.org/wiki/Database_normalization) si/quand vous avez temps – Conduit