Udostępnij za pośrednictwem


Szacowanie rozmiaru tabeli

Dotyczy: ✅Microsoft FabricAzure Data Explorer

Zrozumienie rozmiaru tabeli może być przydatne w przypadku wydajnego zarządzania zasobami i zoptymalizowanej wydajności zapytań. W tym artykule poznasz różne metody szacowania rozmiarów tabel i sposobu ich efektywnego używania.

Oryginalny rozmiar pozyskanych danych

Użyj . pokaż szczegóły tabeli, aby oszacować oryginalny rozmiar danych tabeli. Aby zapoznać się z przykładem, zobacz Use .show table details.

To polecenie umożliwia oszacowanie nieskompresowanego rozmiaru danych pozyskanych do tabeli w oparciu o założenie, że dane zostały przesłane w formacie CSV. Szacowanie opiera się na przybliżonych długościach wartości liczbowych, takich jak liczby całkowite, długości, daty/godziny i identyfikatory GUID, biorąc pod uwagę ich reprezentacje ciągów.

Przykładowy przypadek użycia: Śledzenie rozmiaru danych przychodzących w czasie w celu podejmowania świadomych decyzji dotyczących planowania pojemności.

Rozmiar tabeli pod względem bajtów dostępu

Użyj estimate_data_size() wraz z funkcją agregacji sum(), aby oszacować rozmiar tabeli na podstawie typów danych i odpowiednich rozmiarów bajtów. Aby zapoznać się z przykładem, zobacz Use estimate_data_size().

Ta metoda zapewnia dokładniejsze oszacowanie, biorąc pod uwagę rozmiary bajtów wartości liczbowych bez formatowania ich jako ciągów. Na przykład wartości całkowite wymagają 4 bajtów, natomiast wartości długie i daty/godziny wymagają 8 bajtów. Korzystając z tego podejścia, można dokładnie oszacować rozmiar danych, który mieści się w pamięci.

Przykładowy przypadek użycia: Określ koszt zapytania pod względem przeskanowanych bajtów.

Łączny rozmiar wielu tabel

Możesz użyć operatora unii wraz estimate_data_size z() i sum() funkcji, aby oszacować łączny rozmiar wielu tabel pod względem bajtów dostępu. Aby zapoznać się z przykładem, zobacz Use union with estimate_data_size() (Używanie unii z estimate_data_size().

Przykładowy przypadek użycia: Ocena wymagań dotyczących pamięci w celu skonsolidowania danych z wielu tabel do jednego zestawu danych.

Nuta

Takie podejście może zawyżać szacowany rozmiar danych z powodu pustych kolumn, ponieważ union łączy wszystkie kolumny z określonych tabel i estimate_data_size() uwzględnia puste kolumny podczas obliczania rozmiaru danych.

Przykłady

Korzystanie ze szczegółów tabeli .show

Poniższe zapytanie szacuje oryginalny rozmiar danych tabeli StormEvents.

Uruchom zapytania

.show table StormEvents details
| project TotalOriginalSize

wyjściowe

TotalOriginalSize
60192011

Napiwek

Aby sformatować wynik bajtów w celu MB, GBlub innej lekcji, użyj format_bytes().

Korzystanie z estimate_data_size()

Poniższe zapytanie szacuje oryginalny rozmiar danych tabeli StormEvents w bajtach.

Uruchom zapytania

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

wyjściowe

totalSize
58608932

Nuta

Dane wyjściowe są mniejsze, mimo że obliczenia są wykonywane w tej samej tabeli. Jest to spowodowane tym, że ta metoda zapewnia dokładniejsze oszacowanie, biorąc pod uwagę rozmiary bajtów wartości liczbowych bez formatowania ich jako ciągów.

Używanie unii z estimate_data_size()

Poniższe zapytanie szacuje rozmiar danych na podstawie wszystkich tabel w bazie danych Samples.

Uruchom zapytania

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