Dela via


Uppskatta tabellstorlek

Att förstå storleken på en tabell kan vara användbart för effektiv resurshantering och optimerad frågeprestanda. I den här artikeln får du lära dig olika metoder för att beräkna tabellstorlekar och hur du använder dem effektivt.

Ursprunglig storlek på inmatade data

Använd tabellinformationen .show för att uppskatta den ursprungliga datastorleken för en tabell. Ett exempel finns i Använda .show-tabellinformation.

Det här kommandot ger en uppskattning av den okomprimerade storleken på data som matas in i tabellen baserat på antagandet att data överfördes i CSV-format. Uppskattningen baseras på ungefärliga längder på numeriska värden, till exempel heltal, longs, datetimes och GUID, genom att överväga deras strängrepresentationer.

Exempel på användningsfall: Spåra storleken på inkommande data över tid för att fatta välgrundade beslut om kapacitetsplanering.

Tabellstorlek när det gäller åtkomstbyte

Använd estimate_data_size() tillsammans med aggregeringsfunktionen sum() för att uppskatta tabellstorleken baserat på datatyper och deras respektive bytestorlekar. Ett exempel finns i Använda estimate_data_size().

Den här metoden ger en mer exakt uppskattning genom att överväga bytestorlekarna för numeriska värden utan att formatera dem som strängar. Heltalsvärden kräver till exempel 4 byte medan långa värden och datetime-värden kräver 8 byte. Med den här metoden kan du uppskatta den datastorlek som får plats i minnet.

Exempel på användningsfall: Fastställa kostnaden för en fråga i termer av byte som ska genomsökas.

Kombinerad storlek för flera tabeller

Du kan använda union-operatorn tillsammans med funktionerna estimate_data_size() och sum() för att beräkna den kombinerade storleken på flera tabeller när det gäller åtkomstbyte. Ett exempel finns i Använda union med estimate_data_size().

Exempel på användningsfall: Utvärdera minneskraven för att konsolidera data från flera tabeller till en enda datauppsättning.

Anteckning

Den här metoden kan blåsa upp den uppskattade datastorleken på grund av tomma kolumner, eftersom union kombinerar alla kolumner från de angivna tabellerna och estimate_data_size() tar hänsyn till tomma kolumner vid beräkning av datastorleken.

Exempel

Använd .show table details

Följande fråga beräknar den ursprungliga datastorleken för StormEvents tabellen.

.show table StormEvents details
| project TotalOriginalSize

Resultat

TotalOriginalSize
60192011

Tips

Om du vill formatera byteresultatet till MB, GBeller en annan enhet använder du format_bytes().

Använd estimate_data_size()

Följande fråga beräknar den ursprungliga datastorleken för StormEvents tabellen i byte.

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

Resultat

totalSize
58608932

Anteckning

Utdata är mindre även om beräkningen görs i samma tabell. Det beror på att den här metoden ger en mer exakt uppskattning genom att överväga bytestorlekarna för numeriska värden utan att formatera dem som strängar.

Använda union med estimate_data_size()

Följande fråga beräknar datastorleken baserat på alla tabeller i Samples databasen.

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