5

在过去的几周里,我在 SQL Server 2014 中测试了新的内存中的东西(从未使用过 SQL Server 2012,从 2008R2 直接跳到 2014,所以如果 SQL Server 2012 中也存在这个新功能,我的坏的)。

我很好奇的一件事是查看分配给特定内存优化表的“物理”空间。

sys.allocation_units似乎不再保存有关这种新型表使用的页面的信息,考虑到该表不再存储在页面中,这是有道理的。所以我发现为此你需要使用sys.dm_db_xtp_table_memory_statsVIEW (这对我来说又是新的,也许这在 2012 版中出现了)。

正如我上面提到的,这是一个视图,所以我想看看保存这些信息的底层表是什么,但是当我“解开”视图背后的代码时sys.dm_db_xtp_table_memory_stats,我得到了:

CREATE VIEW sys.dm_db_xtp_table_memory_stats
AS
SELECT
    object_id,
    memory_allocated_for_table_kb,
    memory_used_by_table_kb,
    memory_allocated_for_indexes_kb,
    memory_used_by_indexes_kb
FROM
    sys.dm_db_xtp_table_memory_stats$
WHERE database_id = db_id()

现在,那张桌子旁边的美元符号到底是什么鬼(顺便说一句,这不是一张桌子!)。我在谷歌上搜索了一下,并没有找到任何结果。那是引擎表​​指针吗?有什么线索吗?

4

0 回答 0