如何获取SQL变量、列等占用的内存。?

如何获取SQL变量、列等占用的内存。?,sql,sql-server,sql-server-2008,memory,Sql,Sql Server,Sql Server 2008,Memory,我知道基本的SQL/RDBMS,而不是经验丰富的DBA所知道的那种详细信息 我需要知道int、bigint、date-time等变量消耗了多少内存。我还需要知道Varchar(50)列在两种情况下消耗了多少内存- 1] The Column is filled with strings of size 50 2] Column has all Null 这背后的目的是对ETL/数据传输进行评估 我还想知道如何将SQL server结果存储到磁盘上的缓存中,然后从该缓存中逐块检索数据(这样做是出

我知道基本的SQL/RDBMS,而不是经验丰富的DBA所知道的那种详细信息

我需要知道int、bigint、date-time等变量消耗了多少内存。我还需要知道Varchar(50)列在两种情况下消耗了多少内存-

1] The Column is filled with strings of size 50
2] Column has all Null
这背后的目的是对ETL/数据传输进行评估

我还想知道如何将SQL server结果存储到磁盘上的缓存中,然后从该缓存中逐块检索数据(这样做是出于内存相关的考虑)。但是,我将提出另一个问题。

除此之外,请注意,
varchar
存储取决于实际输入的数据

发件人:

存储大小是输入的数据的实际长度+2字节


您是否检查了文档中的数据类型?如何将数据长度转换为字节?如果我的varchar(50)只包含10位代码,那么一行所消耗的内存是多少?一旦我得到它,我可以添加2字节并获得完整的内存。如果你有一个包含值“1234567890”的varchar(50),那么我相信它将消耗10+2=12字节。如果它是一个字符(50),那么不管内容如何,它都将消耗50个字节。