Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytický platformový systém (PDW)
SQL databáze v Microsoft Fabric
Pomocí následujících kroků můžete odhadnout množství místa potřebného k ukládání dat do haldy:
Zadejte počet řádků, které budou v tabulce přítomné:
- Num_Rows = počet řádků v tabulce
Zadejte počet sloupců s pevnou délkou a proměnlivou délkou a vypočítejte prostor potřebný pro jejich úložiště:
Vypočítá mezeru, kterou každá z těchto skupin sloupců zabírá v řádku dat. Velikost sloupce závisí na datovém typu a specifikaci délky.
- Num_Cols = celkový počet sloupců (pevná délka a proměnná délka)
- Fixed_Data_Size = celková velikost bajtů všech sloupců s pevnou délkou
- Num_Variable_Cols = počet sloupců s proměnnou délkou
- Max_Var_Size = maximální celková velikost bajtu všech sloupců s proměnlivou délkou
Část řádku, která se označuje jako rastrový obrázek s hodnotou null, je vyhrazena ke správě hodnoty null sloupce. Vypočítat jeho velikost:
- Null_Bitmap = 2 + ((Num_Cols + 7) / 8)
Měla by se použít pouze celočíselná část tohoto výrazu. Zahoďte zbývající část.
Výpočet velikosti dat s proměnnou délkou:
Pokud jsou v tabulce sloupce s proměnlivou délkou, určete, kolik místa se používá k ukládání sloupců v řádku:
- Variable_Data_Size = 2 + (Num_Variable_Cols x 2) + Max_Var_Size
Bajty přidané do Max_Var_Size slouží ke sledování jednotlivých sloupců s proměnlivou délkou. Tento vzorec předpokládá, že všechny sloupce s proměnlivou délkou jsou plné 100 procent. Pokud předpokládáte, že se použije menší procento prostoru úložiště sloupce s proměnlivou délkou, můžete upravit hodnotu Max_Var_Size podle tohoto procenta, aby bylo možné získat přesnější odhad celkové velikosti tabulky.
Note
Můžete kombinovat varchar, nvarchar, varbinárnínebo sql_variant sloupce, které způsobují, že celková definovaná šířka tabulky přesahuje 8 060 bajtů. Délka každého z těchto sloupců musí stále spadat do limitu 8 000 bajtů pro sloupec varchar, nvarchar, varbinary nebo sql_variant . Jejich kombinované šířky ale můžou překročit limit 8 060 bajtů v tabulce.
Pokud neexistují žádné sloupce s proměnnou délkou, nastavte Variable_Data_Size na 0.
Vypočítejte celkovou velikost řádku:
- = Row_Size + Fixed_Data_Size + Variable_Data_SizeNull_Bitmap + 4
Hodnota 4 ve vzorci představuje překrytí záhlaví datového řádku.
Výpočet počtu řádků na stránku (8 096 volných bajtů na stránku):
- řádky_na_stránku = 8096 / (velikost_řádku + 2)
Vzhledem k tomu, že řádky nepřesahují stránky, měl by se počet řádků na stránku zaokrouhlit dolů na nejbližší celý řádek. Hodnota 2 ve vzorci je pro položku řádku v poli slotu stránky.
Výpočet počtu stránek potřebných k uložení všech řádků:
- Počet_stran = Počet_řádků / Řádky_na_stránku
Odhadovaný počet stránek by se měl zaokrouhlit nahoru na nejbližší celou stránku.
Vypočítejte množství místa potřebného k uložení dat v haldě (celkem 8 192 bajtů na stránku):
Velikost haldy (bajty) = 8192 x Num_Pages
Tento výpočet nebere v úvahu následující podmínky:
Dělení: Prostorová režie způsobená dělením je minimální, ale složitá k vypočítání. Není důležité zahrnout.
Stránky přidělení: Ke sledování stránek přidělených paměťové haldě se používá alespoň jedna stránka IAM, ale režijní náklady na prostor jsou minimální a neexistuje algoritmus k deterministickému výpočtu přesně toho, kolik stránek IAM se použije.
Hodnoty velkého objektu (LOB): Algoritmus, který přesně určuje, kolik místa se použije k uložení datových typů LOB varchar(max), varbinary(max), nvarchar(max), text, ntextxml a hodnoty obrázků je složité. Stačí jenom přidat průměrnou velikost očekávaných hodnot LOB a přidat ji do celkové velikosti haldy.
Komprese: Velikost komprimované haldy nelze předem vypočítat.
Řídké sloupce: Informace o požadavcích na prostor řídkých sloupců najdete v tématu Použití řídkých sloupců.