Aracılığıyla paylaş


Çevrimiçi'ne dizin işlem çalışma

Bu konu, bir çevrimiçi dizinin işlemi sırasında mevcut yapıları tanımlar ve bu yapıları. ilişkili etkinlikleri gösterir

Çevrimiçi dizin yapıları

Eşzamanlı kullanıcı etkinliği için bir dizin veri tanımlama dili (DDL) işlemi sırasında izin vermek için aşağıdaki yapıları çevrimiçi dizin işlemi sırasında kullanılır: Kaynak ve hazır dizinler, hedef ve kümelenmiş dizinler için bir geçici dizin eşleştirme.

  • Kaynak ve hazır dizinler

    kaynak Özgün Tablo veya kümelenmiş dizin verileri.Kaynak yapısıyla ilgili olan tüm kümelenmemiş dizinler hazır dizin var.Örneğin, çevrimiçi dizin işlemi dört ilişkili kümelenmemiş dizinleri olan kümelenmiş bir dizin oluşturuyor, varolan kümelenmiş dizin kaynağıdır ve hazır dizinler kümelenmemiş dizinleri olan.

    Hazır dizinleri eşzamanlı kullanıcı seçme, ekleme, güncelleştirme ve silme işlemleri için kullanılabilir.Bu toplu ekler (desteklenen, ancak önerilmez) ve tetikleyiciler ve bilgi tutarlılığı kısıtlamaları örtülü güncelleştirmeleri içerir.Tüm hazır dizinler, sorguları ve arama için kullanılabilir.Bu, sorgu iyileştiricisi tarafından seçilmiş ve, gerekli olduğunda dizin ipucu belirtilen anlamına gelir.

  • Hedef

    Hedef veya hedefler, yeni dizin (veya yığın) veya bir dizi yeni, dizinler yeniden oluşturulan veya.Kullanıcı ekleme, güncelleştirme ve silme işlemleri için kaynak olarak uygulandığınıSQL Server Database Enginehedef sırasında dizin işlemi.Çevrimiçi dizin işlemi kümelenmiş bir dizin oluşturuyor, örneğin, hedef yeniden kümelenmiş dizin ise;Database Enginekümelenmiş bir dizin oluşturulmuşsa, kümelenmemiş dizinler yeniden.

    Hedef dizini dizin işlemi tamamlanmış kadar SELECT deyimi işlenirken aranır değil.Dahili olarak, dizin salt okunur olarak işaretlenir.

  • Eşleme geçici dizini

    Oluşturma, doğrudan veya kümelenmiş dizin yeniden çevrimiçi dizin işlemleri, ayrıca bir eşleme geçici dizini gerektirir.Bu geçici dizin eşzamanlı hareketleri, temel alınan tablo satır güncelleştirildi veya silindi, yerleşik yeni dizinleri silinecek kayıtları belirlemek için kullanılır.Kümelenmemiş dizin aynı adımda yeni bir kümelenmiş dizin (veya yığın) oluşturulur ve ayrı bir sıralama işlemi gerektirmez.Eşzamanlı işlemler tüm, ekleme, güncelleştirme ve silme işlemleri geçici eşleme dizini de korur.

Çevrimiçi dizin etkinlikler

Dizinlenmemiş tablo (yığın), kümelenmiş dizin oluşturmak gibi bir basit çevrimiçi dizin işlemi sırasında üç aşamalardan kaynak ve hedef gidin: hazırlık, yapı ve son.

Çevrimiçi ilk kümelenmiş dizin oluşturma işlemi aşağıdaki çizimde gösterilmektedir.Kaynak nesne, öbek, diğer dizin vardır.Her aşama için kaynak ve hedef yapı etkinlikleri gösterilir ve eşzamanlı kullanıcı seçme, ekleme, güncelleştirme ve silme işlemleri de gösterilir.Hazırlık, yapı ve son aşama, her aşamasında kullanılan kilit modu ile birlikte gösterilir.

Activities performed during online index operation

Kaynak yapısı etkinlikler

Aşağıdaki tablo kaynak yapılarını dizin işlemi ve ilgili kilitleme stratejisini her aşamasında ilgili etkinlikleri listeler.

Aşama

Kaynak aktivite

Kaynak kilitleri

Hazırlık

Çok kısa aşaması

Yeni boş dizin yapısını oluşturmak için meta veriler hazırlama sistemi.

anlık görüntü görüntü görüntüsünü tablo tanımlanır.Diğer bir deyişle, satır sürümü tutarlılık işlem düzeyinde okuma sağlamak için kullanılır.Daha fazla bilgi için bkz:Satır Güncelleştirme-based yalıtım düzeyleri anlama.

Eşzamanlı kullanıcı yazma kaynak işlemleri engelleniyor çok kısa bir süre.

Birden fazla kümelenmemiş dizinleri oluşturma dışında hiçbir eş zamanlı DDL işlem izin verilir.

Tablo *, S (paylaşılan)

(Amacı paylaşılan)

INDEX_BUILD_INTERNAL_RESOURCE **

Oluştur

Ana aşama

Verileri taranmış, sıralı, birleştirilmiş ve toplu yükleme işlemleri hedef içine.

Eşzamanlı kullanıcı seçme, ekleme, güncelleştirme ve silme işlemleri hazır olan dizinleri ve yerleşik yeni bir dizin için geçerli olur.

(Amacı paylaşılan)

INDEX_BUILD_INTERNAL_RESOURCE **

Son

Çok kısa aşaması

Bu evre başlamadan önce tüm kaydedilmemiş güncelleştirme işlemleri tamamlamanız gerekir.Alınan kilit, bağlı tüm yeni kullanıcı okuma veya yazma işlemlerini bu aşaması tamamlanıncaya kadar çok kısa bir süre için bloke edilir.

Kaynak ile hedef değiştirmek için sistem meta veriler güncelleştirildi.

Gerekirse, kaynak bırakılır.Örneğin, yeniden oluşturulması veya kümelenmiş bir dizini bırakma sonra.

INDEX_BUILD_INTERNAL_RESOURCE **

S (paylaşılan), tablo kümelenmemiş bir index.* oluşturmak,

Dropped.* SCH-M (şema yapısı (dizin veya tablo) tüm kaynak, değiştirme) olan

* Dizin işlemi tüm kaydedilmemiş güncelleştirme işlemleri, S-kilit ya da SCH-M kilidi alınıyor önce tamamlanması bekleyeceği tablo.

Dizin işlemi sürerken kaynak kilit INDEX_BUILD_INTERNAL_RESOURCE hazır yapıları ve kaynak üzerinde aynı anda DDL işlemleri yürütülmesini engeller.Örneğin, bu kilit aynı anda yeniden aynı iki dizini oluşturulmasını engeller tablo.Bu kaynak kilit Sch-M kilit ile ilişkili olsa da, veri işleme ifadeleri engellemez.

Önceki tablo tek bir dizin içeren bir çevrimiçi dizinin işlemi oluşturma aşamasında alınan tek bir paylaşılan (S) kilit gösterir.Kümelenmiş ve kümelenmemiş dizinleri yerleşik veya yeniden, bir tek çevrimiçi dizin işlemi (örneğin, ilk küme dizin oluşturma sırasında bir tablo içeren bir veya daha fazla kümelenmemiş dizinleri) iki kısa süreli (S) paylaşılan kilitler alınan uzun süreli olduğu kilit tarafından izlenen yapım aşamasında.Bir S kilit ilk kümelenmiş dizin oluşturma ve kümelenmiş dizin oluşturma işlemi tamamlandığında, alınmış, kümelenmemiş dizinler oluşturmak için ikinci bir kısa dönemli S kilit alındı.S kilit kümelenmemiş dizinler yeniden oluşturulduktan sonra çevrimiçi dizin işleminin son aşaması kadar olduğu bir kilidi indirgenmez.

Hedef yapı etkinlikler

Aşağıdaki tablo, dizin işlemi ve ilgili kilitleme stratejisini her aşamasında hedef yapısı gerektiren etkinlikler listeler.

Aşama

Hedefi faaliyeti

Hedef kilitleri

Hazırlık

Yeni dizin oluşturulur ve salt yazılır olarak ayarlayın.

(Amacı paylaşılan)

Oluştur

Alınan veri eklendiğinde kaynak.

(Ekleme, güncelleştirme, silme) veri kaynağına uygulanan kullanıcı değişiklikler uygulanır.

Bu faaliyetin, kullanıcı için saydamdır.

(Amacı paylaşılan)

Son

Dizin meta veriler güncelleştirildi.

Dizin/durum okuma olarak küme.

S (paylaşılan)

veya

SCH-M (şema değişikliği)

Hedef dizin işlemi tamamlanıncaya kadar kullanıcı tarafından verilen SELECT ifadelerine göre erişilir.

Hazırlık ve son aşaması tamamlandıktan sonra yordam önbelleği depolanan sorgu ve güncelleştirme planları geçersiz.Yeni dizin izleyen sorgular kullanır.

Yaşam süresini bir imleç bir çevrimiçi dizinin işlemle ilişkili bir tabloda bildirilen çevrimiçi dizin aşamaları ile sınırlıdır.Güncelleştirme imleçler her aşama sırasında geçersiz.Salt okunur imleçler sonra yalnızca son aşaması geçersiz.