Nombre maximal d'Enregistrements d'une table variable peut avoir dans SQL Server
Est-il des contraintes pour limiter le nombre d'enregistrements que l'on peut avoir en une variable de table? Si oui, quel sera le nombre maximum d'enregistrements d'une table variable peut contenir? Je dois écrire une procédure stockée pour traiter autour de 1000 enregistrements. Dois-je aller avec une variable de table ou d'une table temporaire?
Double Possible de une variable de Table ligne prescription?
Être conscient : peu importe le nombre de lignes dans une variable de table, l'optimiseur de requête (par manque d'informations de meilleure qualité) sera toujours supposer il y a seulement 1 seule ligne dans votre tableau de variable, ce qui peut conduire à horriblement mauvais plans d'exécution si vous avez beaucoup de lignes dans votre variable de table. Utiliser avec prudence - si vous avez l'intention d'avoir des milliers de lignes, je préfère utiliser une table temporaire
mais, l'utilisation de tables temporaires conduit à ajouter de la charge dans la base de données tempdb. Je ne peux pas essayer cte trop, car il doit être mentionnée à plusieurs endroits dans le code
Être conscient : peu importe le nombre de lignes dans une variable de table, l'optimiseur de requête (par manque d'informations de meilleure qualité) sera toujours supposer il y a seulement 1 seule ligne dans votre tableau de variable, ce qui peut conduire à horriblement mauvais plans d'exécution si vous avez beaucoup de lignes dans votre variable de table. Utiliser avec prudence - si vous avez l'intention d'avoir des milliers de lignes, je préfère utiliser une table temporaire
mais, l'utilisation de tables temporaires conduit à ajouter de la charge dans la base de données tempdb. Je ne peux pas essayer cte trop, car il doit être mentionnée à plusieurs endroits dans le code
OriginalL'auteur bmsqldev | 2015-11-06
Vous devez vous connecter pour publier un commentaire.
En tant que tel le officiel site MSDN lorsque l' Spécifications de Capacité maximale pour SQL Server il n'existe pas de limite supérieure définie pour les variables de table, car il dépend de la taille de base de données et la quantité de mémoire disponible pour le stockage. Vous pouvez également consulter le forum MSDN discuter de la même chose; Maximum Capicity de la Variable de Table
Vous pouvez utiliser l'un d'eux comme il n'existe pas de telle règle d'or lorsque vous devez utiliser une variable de Table et quand utiliser des variables Temporaires. Il y a quelques références qui peuvent être utiles pour mieux comprendre:
Performance
le serveur?
OriginalL'auteur Rahul Tripathi
Voulez-vous dire une ligne de la table? Ou voulez-vous une variable dans certains T-SQL qui est un tableau? Je devine que vous devez dire une variable de type tableau et alors la réponse est "non". La limite de ce qu'un tableau peut contenir devrait dépendre uniquement de la taille de votre disque. Si vous souhaitez mettre un certain nombre de lignes dans la table, alors peut-être utiliser les mot-clé sur la requête qui remplit la table? Si vous fournissez un peu plus en détail dans la question, vous obtiendrez une meilleure réponse 🙂
OriginalL'auteur Paul Coldrey