2010-04-30 3 views
5

J'ai un doute Pourquoi devrions-nous utiliser la table temporaire est-il quelque chose de spécial dans la table temporaire et où devrions-nous utiliser les tables temporaires. Pouvez-vous s'il vous plaît m'expliquer ou toute référence merci.Tables temporaires dans le serveur sql?

Répondre

4

Il existe de nombreuses utilisations pour les tables temporaires. Ils peuvent être très utiles pour gérer des données dans des requêtes complexes. Votre question est vague et n'a pas vraiment de réponse, mais je suis en train de lier une documentation de table temporaire.

Ils ont la plupart des mêmes capacités de table, y compris les contraintes et l'indexation. Ils peuvent être globaux ou limités à la portée actuelle. Ils peuvent aussi être inefficaces, alors soyez prudents comme toujours.

http://www.sqlservercentral.com/articles/T-SQL/temptablesinsqlserver/1279/
http://msdn.microsoft.com/en-us/library/aa258255%28SQL.80%29.aspx

11

Lors de l'écriture du code T-SQL, vous avez souvent besoin d'une table où stocker temporairement des données quand vient le temps d'exécuter ce code. Vous disposez de quatre options de table: tables normales, tables temporaires locales, tables temporaires globales et variables de table. Chacune des quatre options de table a son propre but et l'utilisation, et chacun a ses avantages et ses problèmes:

* Normal tables are exactly that, physical tables defined in your database. 

* Local temporary tables are temporary tables that are available only to the session that created them. These tables are automatically destroyed at the termination of the procedure or session that created them. 

* Global temporary tables are temporary tables that are available to all sessions and all users. They are dropped automatically when the last session using the temporary table has completed. Both local temporary tables and global temporary tables are physical tables created within the tempdb database. 

* Table variables are stored within memory but are laid out like a table. Table variables are partially stored on disk and partially stored in memory. It's a common misconception that table variables are stored only in memory. Because they are partially stored in memory, the access time for a table variable can be faster than the time it takes to access a temporary table. 

Lequel utiliser:

* If you have less than 100 rows generally use a table variable. Otherwise use a temporary table. This is because SQL Server won't create statistics on table variables. 
* If you need to create indexes on it then you must use a temporary table. 
* When using temporary tables always create them and create any indexes and then use them. This will help reduce recompilations. The impact of this is reduced starting in SQL Server 2005 but it's still a good idea. 

Please refer this page http://www.sqlteam.com/article/temporary-tables

2

tables temporaires peut être créé lors de l'exécution et peut effectuer toutes les opérations qu'une table normale peut effectuer. Mais, en fonction des types de tables, la portée est limitée. Ces tables sont créées dans la base de données tempdb. SQL Server fournit deux types de tables temporaires en fonction du comportement et de la portée de la table. Ce sont:

Tableau local Temp

Tableau global Temp

Table locale Temp tables temporaires locales ne sont disponibles que pour la connexion en cours pour l'utilisateur; et ils sont automatiquement supprimés lorsque l'utilisateur se déconnecte des instances. Le nom de la table temporaire locale est affiché avec le hachage ("#"). Tableau des températures globales Le nom des tables temporaires globales commence par un double hachage ("##"). Une fois que cette table a été créée par une connexion, comme une table permanente, elle est alors disponible pour n'importe quel utilisateur par n'importe quelle connexion. Il ne peut être effacé que lorsque toutes les connexions ont été fermées.

Quand utiliser des tables temporaires?

• Lorsque nous effectuons un grand nombre de manipulations de lignes dans des procédures stockées. • Ceci est utile pour remplacer le curseur. Nous pouvons stocker les données de l'ensemble de résultats dans une table temporaire, puis nous pouvons manipuler les données à partir de là. • Lorsque l'opération de jointure complexe est en cours.

Points à retenir avant d'utiliser des tables temporaires -

• Table temporaire créé sur tempdb de SQL Server. Ceci est une base de données séparée. Donc, ceci est un surcoût supplémentaire et peut entraîner des problèmes de performance. • Le nombre de rangées et de colonnes doit être aussi petit que nécessaire. • Les tableaux doivent être supprimés lorsqu'ils ont terminé leur travail.

Approche alternative: Tableau Variable-

Alternative de table temporaire est la variable de tableau qui peut faire toutes sortes d'opérations que l'on peut effectuer dans le tableau Temp. Voici la syntaxe pour l'utilisation de la variable Table.

Quand utiliser le tableau variable Surchauffe Tableau -

Tablevariable est toujours utile pour moins de données. Si le jeu de résultats renvoie un grand nombre d'enregistrements, nous devons utiliser la table temporaire.

Questions connexes