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 Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
Bir dizin oluşturulduğunda, yeniden oluşturulduğunda veya bırakılışında, uygun dosya ve dosya gruplarında hem eski (kaynak) hem de yeni (hedef) yapılar için disk alanı gerekir. Dizin oluşturma işlemi tamamlanana kadar eski yapı serbest bırakılmaz. Sıralama işlemleri için ek geçici disk alanı da gerekebilir. Daha fazla bilgi için bkz. Dizin DDL işlemleri için disk alanı gereksinimleri.
Bu örnekte, kümelenmiş dizin oluşturmak için disk alanı gereksinimleri belirlenir.
Kümelenmiş dizini oluşturmadan önce aşağıdaki koşulların doğru olduğunu varsayın:
- Mevcut tablo (yığın) 1 milyon satır içerir. Her satır 200 bayt uzunluğundadır.
- Kümelenmemiş dizin A 1 milyon satır içerir. Her satır 50 bayt uzunluğundadır.
- Kümelenmemiş dizin B, 1 milyon satır içerir. Her satır 80 bayt uzunluğundadır.
- Dizin oluşturma bellek seçeneği 2 MB olarak ayarlanır.
- Tüm mevcut ve yeni dizinler için 80 doldurma faktörü değeri kullanılır. Bu, sayfaların yüzde 80 dolu olduğu anlamına gelir.
Not
Kümelenmiş dizin oluşturmanın bir sonucu olarak, satır göstergesini yeni kümelenmiş dizin anahtarıyla değiştirmek için iki kümelenmemiş dizin yeniden oluşturulmalıdır.
Çevrimdışı dizin işlemi için disk alanı hesaplamaları
Aşağıdaki adımlarda hem dizin işlemi sırasında kullanılacak geçici disk alanı hem de yeni dizinleri depolamak için kalıcı disk alanı hesaplanır. Gösterilen hesaplamalar yaklaşıktır; sonuçlar yukarı yuvarlanarak yalnızca dizin yaprak düzeyinin boyutu dikkate alınarak hesaplanmıştır. Tilde (~) yaklaşık hesaplamaları göstermek için kullanılır.
Kaynak yapıların boyutunu belirleyin.
- Yığın: 1 milyon * 200 bayt ~ 200 MB
- Kümelenmemiş dizin A: 1 milyon * 50 bayt / 80% ~ 63 MB
- Kümelenmemiş dizin B: 1 milyon * 80 bayt / 80% ~ 100 MB
Mevcut yapıların toplam boyutu: 363 MB
Hedef dizin yapılarının boyutunu belirleyin. Yeni kümelenmiş anahtarın benzersizleştirici de dahil olmak üzere 24 bayt uzunluğunda olduğunu varsayalım. Her iki kümelenmemiş dizindeki satır göstergesi (8 bayt uzunluğunda) bu kümelenmiş anahtarla değiştirilir.
Kümelenmiş dizin: 1 milyon * 200 bayt / 80% ~ 250 MB
Kümelenmemiş dizin A: 1 milyon * (50 - 8 + 24) bayt / 80% ~ 83 MB
Kümelenmemiş dizin B: 1 milyon * (80 - 8 + 24) bayt / 80% ~ 120 MB
Yeni yapıların toplam boyutu: 453 MB
Dizin işlemi sırasında hem kaynak hem de hedef yapıları desteklemek için gereken toplam disk alanı 816 MB'tır (363 + 453). Halihazırda kaynak yapılar için ayrılan alan, dizin işlemi tamamlandıktan sonra serbest bırakılır.
Sıralama için ek geçici disk alanı belirleyin.
'de
tempdbsıralama (SORT_IN_TEMPDBolarak ayarlanmış) ve hedef konumda (ONolarak ayarlanmışSORT_IN_TEMPDBOFF) sıralama için alan gereksinimleri gösterilir.SORT_IN_TEMPDBolarak ayarlandığındaONtempdb, en büyük dizini (1 milyon * 200 bayt ~ 200 MB) tutmak için yeterli disk alanına sahip olmalıdır. Doldurma faktörü sıralama işleminde dikkate alınmaz.tempdbkonumunda Dizin oluşturma belleği değerine eşit ek disk alanı = 2 MB.Yaklaşık 202 MB olarak ayarlanmış
SORT_IN_TEMPDBgeçici disk alanınınONtoplam boyutu.SORT_IN_TEMPDB(varsayılan) olarak ayarlandığındaOFF, 2. adımda yeni dizin için zaten dikkate alınmış olan 250 MB disk alanı sıralama için kullanılır.Dizin oluşturma bellek değerine eşit ek disk alanı (hedef konumda) = 2 MB.
= 2 MB olarak ayarlanmış
SORT_IN_TEMPDBgeçici disk alanınınOFFtoplam boyutu.
kullanılarak tempdbkümelenmiş ve kümelenmemiş dizinleri oluşturmak için toplam 1018 MB (816 + 202) gerekir. Kullanmak tempdb dizin oluşturmak için kullanılan geçici disk alanı miktarını artırsa da, kullanıcı veritabanından farklı bir disk kümesinde olduğunda tempdb dizin oluşturmak için gereken süreyi azaltabilir. kullanma tempdb hakkında daha fazla bilgi için bkz. Dizinler İçin SORT_IN_TEMPDB Seçeneği.
kullanılmadan tempdb, kümelenmiş ve kümelenmemiş dizinleri oluşturmak için toplam 818 MB (816 + 2) gerekir.
Çevrimiçi kümelenmiş dizin işlemi için disk alanı hesaplamaları
Kümelenmiş dizini çevrimiçi olarak oluşturduğunuzda, bıraktığınızda veya yeniden derlediğinizde, geçici eşleme dizini oluşturmak ve korumak için ek disk alanı gerekir. Bu geçici eşleme dizini, tablodaki her satır için bir kayıt içerir ve içindekiler eski ve yeni yer işareti sütunlarının birleşimidir.
Çevrimiçi kümelenmiş dizin işlemi için gereken disk alanını hesaplamak için çevrimdışı dizin işlemi için gösterilen adımları izleyin ve bu sonuçları aşağıdaki adımın sonuçlarına ekleyin.
Geçici eşleme dizini için alan belirleyin.
Bu örnekte, eski yer işareti yığının satır kimliği (RID) (8 bayt) ve yeni yer işareti kümeleme anahtarıdır (benzersizleştiricidahil 24 bayt). Eski ve yeni yer işaretleri arasında çakışan sütunlar yoktur.
Geçici eşleme dizini boyutu = 1 milyon * (8 bayt + 24 bayt) / 80% ~ 40 MB.
SORT_IN_TEMPDBOFFolarak ayarlanmışsa veyatempdbSORT_IN_TEMPDBolarak ayarlanmışsa, bu disk alanı hedef konumda gerekli disk alanına eklenmelidir.
Geçici eşleme dizini hakkında daha fazla bilgi için bkz. Dizin DDL işlemleri için disk alanı gereksinimleri.
Disk alanı özeti
Aşağıdaki tabloda disk alanı hesaplamalarının sonuçları özetlenir.
| Dizin işlemi | Aşağıdaki yapıların konumları için disk alanı gereksinimleri |
|---|---|
SORT_IN_TEMPDB = ON ile çevrimdışı dizin işlemi |
İşlem sırasında toplam alan: 1.018 MB - Mevcut tablo ve dizinler: 363 MB 1 - tempdb: 202 MB 1- Yeni dizinler: 453 MB İşlemden sonra gereken toplam alan: 453 MB |
SORT_IN_TEMPDB = OFF ile çevrimdışı dizin işlemi |
İşlem sırasında toplam alan: 816 MB - Mevcut tablo ve dizinler: 363 MB 1 - Yeni dizinler: 453 MB İşlemden sonra gereken toplam alan: 453 MB |
SORT_IN_TEMPDB = ON ile çevrimiçi dizin işlemi |
İşlem sırasında toplam alan: 1.058 MB - Mevcut tablo ve dizinler: 363 MB 1 - tempdb (eşleme dizini içerir): 242 MB*- Yeni dizinler: 453 MB İşlemden sonra gereken toplam alan: 453 MB |
SORT_IN_TEMPDB = OFF ile çevrimiçi dizin işlemi |
İşlem sırasında toplam alan: 856 MB - Mevcut tablo ve dizinler: 363 MB 1 - Geçici eşleme dizini: 40 MB 1 - Yeni dizinler: 453 MB İşlemden sonra gereken toplam alan: 453 MB |
1 Dizin işlemi işlendikten sonra bu alan serbest bırakılır.
Bu örnekte, eşzamanlı kullanıcı güncelleştirme ve silme işlemleri tarafından oluşturulan sürüm kayıtları için içinde tempdb gereken ek geçici disk alanı dikkate alınmıyor.