En ce qui concerne SQL et requêtes, quelle est la différence entre une table en mémoire, une table temporaire et un tableau croisé dynamique?Quelle est la différence entre une table en mémoire, une table temporaire et une table pivotante?
Répondre
une table en mémoire est une table qui a été entièrement mises en cache, et donc ne donne pas lieu à une physique (disque dur) se lit lors d'une interrogation. Alternativement, il s'agit d'une variable table, déclarée dans un batch ou une fonction, sans persistance. Dépend de ce que vous entendez par "table en mémoire" :)
Une table temp (orary) est une table qui sera automatiquement supprimée lorsqu'elle n'est plus nécessaire, généralement lorsque la session de création est terminée. Dans MS SQL, ils commencent par un # (ou deux hashs s'il s'agit de tables temporaires globales, partagées entre plusieurs sessions), et sont souvent créés avec une requête SELECT INTO #TEMPTABLE .... Un tableau croisé dynamique est une forme spéciale de requête où les valeurs dans plusieurs lignes sont résumées, "pivotées" sur un axe, et deviennent des colonnes, où les données récapitulatives deviennent alors les lignes. Cela arrive souvent lorsque vous avez des lignes triées sur des dates; ceux-ci peuvent alors être « pivotent » si vous vous retrouvez avec une colonne pour Janvier, un pour Février, un pour Mars, etc.
Heres une bonne lecture sur @temp tables vs #temp tables
Je résumerais comme:
Les variables de table @temp sont stockées en mémoire ... plus vous les utilisez, plus le coût du processeur est élevé ... mais elles peuvent être mises en cache et peuvent ainsi s'exécuter plus rapidement la plupart du temps.
Les tables #temp sont stockées sur le disque, si vous stockez beaucoup de données dans la table temporaire, vous pouvez vouloir suivre cette route, I.E. à des fins de reporting. L'utilisation de PIVOT and UNPIVOT est juste un moyen de "faire pivoter" vos résultats ... donc son accès à la mémoire serait similaire à la façon dont les autres requêtes standard sont effectuées.
- 1. Formule pour référencer une table pivotante entière?
- 2. Quelle est la différence entre une analyse de table et une analyse d'index clusterisée?
- 3. quelle est la différence entre une procédure stockée et une fonction de valeur table?
- 4. Quelle est la différence entre TEMPORARY TABLE et TABLE VARIABLE dans SQL 2008?
- 5. regroupement d'enregistrements dans une table temporaire
- 6. Suppression des doublons en utilisant une table temporaire
- 7. SQL créer une table « mapping » temporaire dans une instruction select
- 8. TSQL Définir une table temporaire (ou une variable de table) sans définir de schéma?
- 9. Quelle est la meilleure façon de déterminer si une table temporaire existe dans SQL Server?
- 10. Insérez dans une table une partie d'une autre table
- 11. NHibernate et une table dénormalisé
- 12. Est-il possible de faire une association entre une table et une vue dans Entity Framework?
- 13. Expressions de table communes par rapport à la table temporaire
- 14. SQL Server 2005 et la portée table temporaire
- 15. Utilisez chaque ligne dans une table en la joignant à une autre table
- 16. Insérer une partie d'une table dans une autre table
- 17. Est-il possible de créer une fonction qui prend une table en paramètre et renvoie une table?
- 18. Quelle est la manière la plus rapide/la plus simple de dénormaliser cette table hiérarchique en une table plate?
- 19. Mise à jour d'une table à partir d'une table temporaire
- 20. Limite de ressources table temporaire
- 21. Est-il possible de copier les données dans une table MSSQL distante vers une table locale?
- 22. Table temporaire SQL Server 2000 vs variable de table
- 23. En C#, quelle est la différence entre un destructeur et une méthode Finalize dans une classe?
- 24. Partage de table temporaire SQL entre différents lecteurs SQL
- 25. Recherche d'entrées en double dans une table
- 26. différence de temps entre deux fois dans la même table
- 27. construction prédictive Parser et une table parsing
- 28. Pourquoi l'appartenance asp.net a-t-elle une table d'utilisateurs et une table d'adhésion?
- 29. Comment effectuer une table UNION dans SubSonic
- 30. MySQL ALTER TABLE sur une très grande table - est-il sécuritaire de l'exécuter?