2017-05-03 2 views
0

Je trouve que certaines personnes disent que la table temporaire est stockée sur le disque physique parce qu'il est dans la tempdb, la variable est alors la mémoire (parfois dépend alors disque physique sur les comptes de données).où ne la table temporaire et variable_table pour stocker, le disque physique ou de la mémoire?

alors voici la question un: où stockent-ils réellement! question deux: puis-je considérer le tempdb comme une mémoire cache entre le disque dur et la mémoire?

+3

réponse Epic - https://dba.stackexchange.com/a/16386/6171 – gotqn

Répondre

0

tables temporaires sont physiquement créé dans la base de données tempdb.

table des variables est créée dans la base de données tempdb mais pas la mémoire (entièrement).

Permettez-moi de citer le document de support de Microsoft:

Une variable de table n'est pas une structure de mémoire seulement. Du fait une variable tableau peut contenir plus de données que ne peut en mémoire, il doit avoir une place sur le disque pour stocker des données. Les variables de table sont créées dans la base de données tempdb similaire aux tables temporaires. Si la mémoire est disponible, les deux variables de table et tables temporaires sont créés et traités en dans la mémoire (cache de données).

Source: https://support.microsoft.com/en-us/help/305977/inf-frequently-asked-questions---sql-server-2000---table-variables

Pour votre information, CTE sont créés en mémoire plutôt que la base de données tempdb