次の方法で共有


テーブル サイズの見積もり

適用対象: ✅Microsoft FabricAzure Data Explorer

テーブルのサイズを理解することは、効率的なリソース管理とクエリパフォーマンスの最適化に役立ちます。 この記事では、テーブルサイズを見積もるさまざまな方法と、それらを効果的に使用する方法について説明します。

取り込まれたデータの元のサイズ

テーブルの元のデータ サイズを推定するには、.show テーブルの詳細 を使用します。 例については、「.show テーブルの詳細を使用する」を参照してください。

このコマンドは、データが CSV 形式で転送されたという前提に基づいて、テーブルに取り込まれたデータの圧縮されていないサイズの見積もりを提供します。 推定は、文字列表現を考慮することで、整数、longs、datetimes、guid などの数値のおおよその長さに基づいています。

ユース ケースの例: 時間の経過に伴う受信データのサイズを追跡して、容量計画に関する情報に基づいた意思決定を行います。

アクセス バイト数の観点から見たテーブル サイズ

estimate_data_size()sum() 集計関数を使用して、データ型とそれぞれのバイト サイズに基づいてテーブル サイズを推定します。 例については、「estimate_data_size()使用する」を参照してください。

このメソッドは、数値のバイト サイズを文字列として書式設定せずに考慮することで、より正確な推定を提供します。 たとえば、整数値には 4 バイトが必要です。long 値と datetime 値には 8 バイトが必要です。 この方法を使用すると、メモリに収まるデータ サイズを正確に見積もることができます。

ユース ケースの例: スキャンするバイト数でクエリのコストを決定します。

複数のテーブルの結合サイズ

共用体 演算子と共に、estimate_data_size() 関数と sum() 関数を使用して、アクセス バイトの観点から複数のテーブルの合計サイズを見積もることができます。 例については、「共用体と estimate_data_size()を使用する」を参照してください。

ユース ケースの例: 複数のテーブルから 1 つのデータセットにデータを統合するためのメモリ要件を評価します。

手記

この方法では、指定したテーブルのすべての列を結合 union、データ サイズを計算するときに空の列 estimate_data_size() 考慮するため、空の列が原因で推定データ サイズが膨らむ可能性があります。

テーブルの詳細の表示を使用する

次のクエリは、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

手記

同じテーブルに対して計算が行われる場合でも、出力は小さくなります。 これは、このメソッドは、数値のバイト サイズを文字列として書式設定せずに考慮することで、より正確な推定を提供するためです。

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