我试图在SQL DW中导出表大小,最初我们使用SQL下面来获取大小。
SELECT
two_part_name , SUM(row_count) as table_row_count , SUM(reserved_space_GB) as table_reserved_space_GB , SUM(data_space_GB) as table_data_space_GB , SUM(index_space_GB) as table_index_space_GB , SUM(unused_space_GB) as table_unused_space_GB FROM dbo.vTableSizes GROUP BY two_part_name ;
此表的特定表的输出是 two_part_name table_row_count table_reserved_space_GB table_data_space_GB table_index_space_GB table_unused_space_GB Dim_Inventory_Hierarchy 48024330 6.781504 6.77496 0 0.006544
48M记录为6.7GB
但我使用以下查询查询表格大小
select sum(size_in_bytes)/1024/1024/1024 size_in_GB,sum(total_rows),sum(deleted_rows) FROM sys.pdw_nodes_column_store_row_groups rg JOIN sys.pdw_nodes_tables pt ON rg.object_id = pt.object_id AND rg.pdw_node_id = pt.pdw_node_id AND pt.distribution_id = rg.distribution_id JOIN sys.pdw_table_mappings tm ON pt.name = tm.physical_name INNER JOIN sys.tables t ON tm.object_id = t.object_id WHERE t.name = 'Dim_Inventory_Hierarchy'
对于同一个表,它返回(~1GB)
size_in_GB(无列名)(无列名) 1 48024330 0
对于pdw_nodes_column_store_row_groups表中相同的48M记录,大约是1GB?
所以 - 我想了解哪一个是准确的,需要考虑估算表格大小?
此致 阿拉汶
答案 0 :(得分:0)