Mysql
 sql >> Base de données >  >> RDS >> Mysql

MS-SQL prend-il en charge les tables en mémoire ?

Vous pouvez créer des variables de table (en mémoire) et deux types différents de table temporaire :

--visible only to me, in memory (SQL 2000 and above only)
declare @test table (
    Field1 int,
    Field2 nvarchar(50)
);

--visible only to me, stored in tempDB
create table #test (
    Field1 int,
    Field2 nvarchar(50)
)

--visible to everyone, stored in tempDB
create table ##test (
    Field1 int,
    Field2 nvarchar(50)
)

Modifier :

Suite aux commentaires, je pense que cela nécessite une petite clarification.

#table et ##table sera toujours dans TempDB.

@Table les variables seront normalement en mémoire, mais il n'est pas garanti qu'elles le soient. SQL décide en fonction du plan de requête et utilise TempDB si nécessaire.