Sdílet prostřednictvím


Odhad velikosti tabulky

Platí pro: ✅Microsoft FabricAzure Data Explorer

Pochopení velikosti tabulky může být užitečné pro efektivní správu prostředků a optimalizovaný výkon dotazů. V tomto článku se naučíte různé metody pro odhad velikostí tabulek a jejich efektivní použití.

Původní velikost přijatých dat

K odhadu původní velikosti dat tabulky tabulky použijte .show podrobnosti tabulky. Příklad najdete v tématu Použití podrobností tabulky .show.

Tento příkaz poskytuje odhad nekomprimované velikosti dat přijatých do tabulky na základě předpokladu, že se data přenesla ve formátu CSV. Odhad vychází z přibližných délek číselných hodnot, jako jsou celá čísla, dlouhé hodnoty, hodnoty datetime a identifikátory GUID, a to zvážením jejich řetězcových reprezentací.

příklad použití: Sledovat velikost příchozích dat v průběhu času, aby bylo možné provádět informovaná rozhodnutí o plánování kapacity.

Velikost tabulky z hlediska přístupových bajtů

Pomocí estimate_data_size() společně s sum() agregační funkce můžete odhadnout velikost tabulky na základě datových typů a jejich odpovídajících velikostí bajtů. Příklad najdete v tématu Použití estimate_data_size().

Tato metoda poskytuje přesnější odhad zvážením velikostí bajtů číselných hodnot bez jejich formátování jako řetězců. Například celočíselné hodnoty vyžadují 4 bajty, zatímco hodnoty long a datetime vyžadují 8 bajtů. Pomocí tohoto přístupu můžete přesně odhadnout velikost dat, která by se vešla do paměti.

Příklad případu použití: Určete náklady na dotaz z hlediska bajtů, které se mají zkontrolovat.

Kombinovaná velikost více tabulek

Pomocí operátoru sjednocení můžete použít estimate_data_size() a funkce sum() k odhadu kombinované velikosti více tabulek z hlediska přístupových bajtů. Příklad najdete v tématu Použití sjednocení sestimate_data_size().

příklad použití: Posouzení požadavků na paměť pro konsolidaci dat z více tabulek do jedné datové sady.

Poznámka

Tento přístup může nafouknout odhadovanou velikost dat z důvodu prázdných sloupců, protože union kombinuje všechny sloupce ze zadaných tabulek a estimate_data_size() při výpočtu velikosti dat bere v úvahu prázdné sloupce.

Příklady

Použití podrobností tabulky .show

Následující dotaz odhaduje původní velikost dat tabulky StormEvents.

.show table StormEvents details
| project TotalOriginalSize

výstupní

TotalOriginalSize
60192011

Spropitné

Pokud chcete formátovat výsledek bajtů na , nebo jinou jednotku, použijteformat_bytes().

Použití estimate_data_size()

Následující dotaz odhaduje původní velikost dat tabulky StormEvents v bajtech.

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

výstupní

totalSize
58608932

Poznámka

Výstup je menší, i když se výpočet provádí přes stejnou tabulku. Důvodem je to, že tato metoda poskytuje přesnější odhad zvážením velikostí bajtů číselných hodnot bez jejich formátování jako řetězců.

Použití sjednocení s estimate_data_size()

Následující dotaz odhaduje velikost dat na základě všech tabulek v databázi 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