我正在尝试使用INFORMATION_SCHEMA.COLUMNAR_SEGMENTS表获取列存储表使用的空间。但是,我不确定所报告的用法是否也包括冗余。我正在使用的查询如下,
SELECT
DATABASE_NAME AS DB,
TABLE_NAME AS TABLE_NAME ,
"" AS TOTAL_MEMORY_MB ,
SUM(UNCOMPRESSED_SIZE)/(1024*1024) AS DISK_UNCOMP_MB ,
SUM(COMPRESSED_SIZE)/(1024*1024) AS DISK_COMP_MB
FROM INFORMATION_SCHEMA.COLUMNAR_SEGMENTS
WHERE TABLE_NAME = "table_name"
有人可以帮助我了解此表报告的空间使用情况吗?它也包括冗余吗?如果我们不进行汇总,则将给出单个分区的结果。但是,我不确定它是否也包括冗余分区。
答案 0 :(得分:1)
是的,COLUMNAR_SEGMENTS包含冗余(它显示磁盘上的所有blob文件,无论是在主服务器上还是从服务器上)。您可以通过在冗余2中的表中插入一行(并运行优化表,以便将该行转换为列存储格式)然后查询所有Blob(您将在2个不同的节点上看到2个Blob文件)来看到这一点。