Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analitik Platform Sistemi (PDW)
Microsoft Fabric'te SQL veritabanı
Bir yığında veri depolamak için gereken alan miktarını tahmin etmek için aşağıdaki adımları kullanabilirsiniz:
Tabloda yer alacak satır sayısını belirtin:
- Num_Rows = tablodaki satır sayısı
Sabit uzunluklu ve değişken uzunlukta sütunların sayısını belirtin ve depolamaları için gereken alanı hesaplayın:
Bu sütun gruplarının her birinin veri satırında kaplayacakları alanı hesaplayın. Sütunun boyutu, veri türüne ve uzunluk tanımına bağlıdır.
- Num_Cols = toplam sütun sayısı (sabit uzunluk ve değişken uzunluk)
- Fixed_Data_Size = tüm sabit uzunlukta sütunların toplam bayt boyutu
- Num_Variable_Cols = değişken uzunlukta sütun sayısı
- Max_Var_Size = tüm değişken uzunlukta sütunların maksimum toplam bayt boyutu
Satırın null bit eşlemi olarak bilinen bölümü, sütun null değer atamasının yönetilmesi için ayrılmıştır. Boyutunu hesaplama:
- Null_Bitmap = 2 + ((Num_Cols + 7) / 8)
Bu ifadenin yalnızca tamsayı bölümü kullanılmalıdır. Kalanları atın.
Değişken uzunluklu veri boyutunu hesaplayın:
Tabloda değişken uzunlukta sütunlar varsa, sütunları satır içinde depolamak için ne kadar alan kullanıldığını belirleyin:
- Variable_Data_Size = 2 + (Num_Variable_Cols x 2) + Max_Var_Size
Max_Var_Size eklenen baytlar, değişken uzunluktaki her sütunu izlemeye yöneliktir. Bu formül, tüm değişken uzunluklu sütunların yüzde 100 dolu olduğunu varsayar. Değişken uzunluktaki sütun depolama alanının daha küçük bir yüzdesinin kullanılacağını düşünüyorsanız, genel tablo boyutunun daha doğru bir tahminini sağlamak için Max_Var_Size değerini bu yüzdeye göre ayarlayabilirsiniz.
Note
varchar, nvarchar, varbinaryveya toplam tanımlı tablo genişliğinin 8.060 bayt'ı aşmasına neden olan sql_variant sütunlarını birleştirebilirsiniz. Bu sütunlardan her birinin uzunluğu, bir varchar, nvarchar, varbinaryveya sql_variant sütunu için yine de 8.000 bayt sınırına uygun olmalıdır. Ancak, birleştirilmiş genişlikleri bir tablodaki 8.060 bayt sınırını aşabilir.
Değişken uzunlukta sütun yoksa Variable_Data_Size 0 olarak ayarlayın.
Toplam satır boyutunu hesaplama:
- Row_Size = Fixed_Data_Size + Variable_Data_Size + Null_Bitmap + 4
Formüldeki 4 değeri, veri satırının satır üst bilgisi ek yüküdür.
Sayfa başına satır sayısını hesaplayın (sayfa başına 8.096 boş bayt):
- Rows_Per_Page = 8096 / (Row_Size + 2)
Satırlar sayfalara yayılmadığından, sayfa başına satır sayısı en yakın tam satıra yuvarlanmalıdır. Formüldeki 2 değeri, sayfadaki yuva dizisinde yer alan satırın girişine yöneliktir.
Tüm satırları depolamak için gereken sayfa sayısını hesaplayın:
- Sayfa_Sayısı = Satır_Sayısı / Sayfa_Başına_Satır
Tahmini sayfa sayısı en yakın tam sayfa sayısına yuvarlanmalıdır.
Verileri yığında depolamak için gereken alan miktarını hesaplayın (sayfa başına toplam 8.192 bayt):
Yığın boyutu (bayt) = 8192 x Num_Pages
Bu hesaplama aşağıdaki koşulları dikkate almaz:
Bölümleme: Bölümlemeden kaynaklanan alan ek yükü çok azdır, ancak hesaplanması karmaşıktır. Dahil etmek zorunlu değildir.
Ayırma sayfaları: Yığına ayrılan sayfaları izlemek için kullanılan en az bir IAM sayfası vardır, ancak alan ek yükü çok azdır ve tam olarak kaç IAM sayfası kullanılacağını belirlemeye ilişkin bir algoritma yoktur.
Büyük nesne (LOB) değerleri: LOB veri türlerinin varchar(max), varbinary(max), nvarchar(max), metin, ntextxml ve görüntü değerlerini depolamak için tam olarak ne kadar alan kullanılacağını belirleyen algoritma karmaşıktır. Beklenen LOB değerlerinin ortalama boyutunu eklemek ve bunu toplam yığın boyutuna eklemek yeterlidir.
Sıkıştırma: Sıkıştırılmış yığının boyutunu önceden hesaplayamazsınız.
Seyrek sütunlar: Seyrek sütunların alan gereksinimleri hakkında bilgi için bkz. Seyrek sütunları kullanma.