Dizin ddl işlemleri için disk alanı gereksinimleri

Disk alanı oluşturduğunuzda, yeniden veya dizinler bırak önemli bir noktadır. Yetersiz disk alanı, performansı düşebilir veya hatta dizin işleminin başarısız olmasına neden olabilir. Bu konu, dizin veri tanım dili (ddl) işlemleri için gereken disk alanı miktarını belirlemenize yardımcı olacak genel bilgi sağlar.

Ek Disk alanı gerektiren dizin işlemleri

Aşağıdaki dizin işlemleri hiçbir ek disk alanı gerektirir:

  • ALTER DİZİN YENİDEN DÜZENLE; Ancak, günlük alanı gereklidir.

  • drop kümelendirilmemiş dizin bırakarak zaman dizin.

  • drop INDEX çevrimdışı kümelenmiş bir dizin move to yan tümcesi ve kümelendirilmemiş dizinler belirtmeden bırakarak zaman mevcut değildir.

  • create table (PRIMARY key veya UNIQUE kısıtlamaları)

Ek Disk alanı gerektiren dizin işlemleri

Diğer dizin ddl işlemleri, işlem sırasında kullanılacak ek geçici disk alanı ve yeni dizin yapısı veya yapılar depolamak için kalıcı disk alanı gerektirir. Dizin yapıları hakkında daha fazla bilgi için bkz: Table and Index Architecture.

Yeni bir dizin yapısı oluşturulduğunda, onların uygun dosyaları ve filegroups hem eski (kaynak) ve yeni (hedef) yapıları için disk alanı gereklidir. Dizin oluşturma hareketi tamamlar kadar eski yapısı kaldırıldı değil.

Aşağıdaki dizin ddl işlemleri yeni dizin yapıları oluşturmak ve ek disk alanı gerektirir:

  • DİZİN OLUŞTURMA

  • DROP_EXISTING İLE DİZİN OLUŞTURMA

  • ALTER DİZİN YENİDEN OLUŞTURMA

  • alter table add CONSTRAıNT'ı (PRIMARY key veya UNIQUE)

  • alter table drop CONSTRAINT'ı (PRIMARY key veya UNIQUE) ne zaman kısıtlamayı kümelenmiş bir dizin dayanır

  • Bırakma dizini taşımak için (yalnızca Kümelenmiş dizinler uygulanır.)

Sıralama için geçici Disk alanı

Sorgu en iyi duruma getiricisi sıralama gerektirmeyen yürütme planı bulur sürece yanı sıra disk alanı gerekli kaynak ve hedef yapıları, geçici disk alanı için sıralama için gereklidir.

Sıralama sıralamak gerekirse, yeni bir dizin bir anda gerçekleşir. Örneğin, kümelenmiş bir dizin ve ilişkili bir kümelendirilmemiş dizinler içinde tek bir deyimi yeniden dizinler birbiri ardına sıralanmış bir olur. Bu nedenle sıralama için gereken ek geçici disk alanı yalnızca büyük operasyonda en büyük dizin olması gerekir. Bu hemen hemen her zaman Kümelenmiş dizin var.

SORT_IN_TEMPDB seçeneği on olarak ayarlanmışsa, en büyük dizin içine sığmalıdır tempdb. Bu seçeneği, bir dizin oluşturmak için kullanılan geçici disk alanı miktarını artırır, ancak dizin oluşturmak için gereken zamanı azaltabilir ne zaman tempdb diskleri kullanıcı veritabanından farklı bir dizi olduğunu. İçinde sıralama hakkında daha fazla bilgi için tempdb, bakın SORT_IN_TEMPDB seçeneği için dizinler.

SORT_IN_TEMPDB off (varsayılan) ayarlanmışsa, Bölümlenmiş dizinler dahil olmak üzere, her dizin onun hedef disk alanında sıralanır; ve sadece yeni dizin yapıları için disk alanı gereklidir.

Disk alanı hesaplama örneği için bkz: Dizin Disk alanı örneği.

Çevrimiçi dizin işlemleri için geçici Disk alanı

Çevrimiçi dizin işlemleri gerçekleştirdiğinizde, ek geçici disk alanı gereklidir.

Kümelenmiş bir dizin oluşturulmuş, yeniden veya çevrimiçi düştü, yeni yer imlerine eski yer imlerinin eşlemek için geçici kümelendirilmemiş dizin oluşturulur. SORT_IN_TEMPDB seçeneği on olarak ayarlanmışsa, bu geçici dizin oluşturulur tempdb. SORT_IN_TEMPDB off için ayarlanır, aynı filegroup veya bölüm düzeni hedef dizin kullanılır. Geçici eşleme dizini tablodaki her satır için bir kayıt içerir ve içeriği dahil olmak üzere eski ve yeni yer imi sütun Birliği uniqueifiersve tanımlayıcıları ve hem yer imleri içinde kullanılan herhangi bir sütun yalnızca tek bir kopyasını dahil. Çevrimiçi dizin işlemleri hakkında daha fazla bilgi için bkz: Çevrimiçi dizin işlemleri gerçekleştirme.

[!NOT]

SORT_IN_TEMPDB seçeneği, drop INDEX deyimi için ayarlanamaz. Geçici eşleme dizini her zaman aynı filegroup veya bölüm düzeni hedef dizin oluşturulur.

Diğer işlemler tarafından yapılan dizin işlemi etkileri yalıtmak için çevrimiçi dizin işlemleri kullanımı satır sürüm oluşturma. Bu paylaşım kilitleri okunan satır isteğiyle engeller. Eşzamanlı kullanıcı güncelleştirme ve silme işlemleri sırasında çevrimiçi dizin işlemleri gerektiren alan sürüm kayıtlarında tempdb. Daha fazla bilgi için Çevrimiçi dizin işlemleri gerçekleştirmeve Understanding Row Versioning.

ilişkili Görevler

Dizin Disk alanı örneği

Dizin işlemleri için işlem günlüğü Disk alanı

Tablo boyutunu tahmin etmek

Kümelenmiş bir dizin boyutunu tahmin etmek

Kümelendirilmemiş dizin boyutunu tahmin etmek

Bir yığın boyutunu tahmin etmek

İlişkili İçerik

Index (Transact-sql) oluştur

ALTER INDEX (Transact-SQL)

drop INDEX (Transact-sql)

Creating Indexes (Database Engine)

Bir dizin için dolgu etmeni belirleme

Placing Indexes on Filegroups

Yeniden düzenleme ve dizinler yeniden oluşturma