Udostępnij za pośrednictwem


Szacowany rozmiar tabeli

Zrozumienie rozmiaru tabeli może być przydatne do wydajnego zarządzania zasobami i zoptymalizowania 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 szczegółów tabeli .show , aby oszacować oryginalny rozmiar danych tabeli. Aby zapoznać się z przykładem, zobacz Use .show table details (Używanie szczegółów tabeli .show).

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 Używanie estimate_data_size().

Ta metoda zapewnia bardziej precyzyjne oszacowanie, uwzględniając 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 bajtów do przeskanowania.

Łączny rozmiar wielu tabel

Możesz użyć operatora unii wraz z funkcjami estimate_data_size() i sum(), 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: Oceń wymagania dotyczące pamięci dotyczące konsolidowania danych z wielu tabel do jednego zestawu danych.

Uwaga

Takie podejście może zwiększać 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 StormEvents danych tabeli.

.show table StormEvents details
| project TotalOriginalSize

Dane wyjściowe

TotalOriginalSize
60192011

Porada

Aby sformatować wynik bajtów na MB, GBlub inną jednostkę, użyj format_bytes().

Korzystanie z estimate_data_size()

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

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

Dane wyjściowe

Totalsize
58608932

Uwaga

Dane wyjściowe są mniejsze, mimo że obliczenia są wykonywane w tej samej tabeli. Wynika to z tego, że ta metoda zapewnia bardziej precyzyjne oszacowanie, uwzględniając rozmiary bajtów wartości liczbowych bez formatowania ich jako ciągów.

Używanie unii z estimate_data_size()

Następujące zapytanie szacuje rozmiar danych na podstawie wszystkich tabel w Samples bazie danych.

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