共用方式為


估計數據表大小

適用於:✅Microsoft FabricAzure 數據總管

了解數據表的大小有助於有效率的資源管理和優化查詢效能。 在本文中,您將瞭解不同的方法來估計數據表大小,以及如何有效地使用它們。

內嵌數據的原始大小

使用 .show 數據表詳細數據 來估計數據表的原始數據大小。 如需範例,請參閱 使用 .show 數據表詳細資料

此命令會根據假設數據以 CSV 格式傳輸,提供未壓縮的數據擷取到數據表大小的估計。 估計是根據數值的近似長度,例如整數、longs、datetime 和 guid,考慮其字串表示法。

範例使用案例: 追蹤一段時間內送數據的大小,以做出有關容量規劃的明智決策。

存取位元組的數據表大小

使用 estimate_data_size() 以及 sum() 聚合函數,根據數據類型及其各自的位元組大小來估計數據表大小。 如需範例,請參閱 使用 estimate_data_size()

此方法藉由考慮數值的位元組大小,而不將它們格式化為字元串,來提供更精確的估計。 例如,整數值需要 4 個字節,而 long 和 datetime 值則需要 8 個字節。 藉由使用此方法,您可以準確地估計記憶體中適合的數據大小。

範例使用案例: 根據要掃描的位元組來判斷查詢的成本。

多個數據表的組合大小

您可以使用 等位 運算符以及 estimate_data_sizesum() 函式來估計多個數據表在存取位元組方面的合併大小。 如需範例,請參閱 搭配 estimate_data_size()使用等位。

範例使用案例: 評估將多個數據表的數據合併到單一數據集的記憶體需求。

注意

此方法可能會因為空白數據行而擴大估計的數據大小,因為 union 結合指定數據表中的所有數據行,而且 estimate_data_size() 計算數據大小時,會將空白數據行納入考慮。

例子

使用 .show 數據表詳細數據

下列查詢會估計 StormEvents 數據表的原始數據大小。

.show table StormEvents details
| project TotalOriginalSize

輸出

TotalOriginalSize
60192011

提示

若要將位元組結果格式化為 MBGB或其他單位,請使用 format_bytes()

使用estimate_data_size()

下列查詢會以位元組為單位估計 StormEvents 數據表的原始數據大小。

StormEvents
| extend sizeEstimateOfColumn = estimate_data_size(*)
| summarize totalSize=sum(sizeEstimateOfColumn)

輸出

totalSize
58608932

注意

即使計算是在相同的數據表上完成,輸出也會更小。 這是因為此方法藉由考慮數值的位元元組大小來提供更精確的估計,而不將它們格式化為字串。

使用 union 搭配 estimate_data_size()

下列查詢會根據 Samples 資料庫中的所有數據表來估計數據大小。

union withsource=_TableName *
| extend sizeEstimateOfColumn = estimate_data_size(*)
| summarize totalSize=sum(sizeEstimateOfColumn)
| extend sizeGB = format_bytes(totalSize,2,"GB")
totalSize sizeGB
1761782453926 1640.79 GB