Gelişmiş Query kavramları ayarlama
Microsoft SQL Server gerçekleştirir sıralamak için birleştirmek, kesişen ve bellek içi sıralama ve karma birleştirmek teknolojisini kullanarak işlem fark. Bu tür bir sorgu planı'nı kullanma SQL Server dikey bir tabloda sütunlar halinde depolama olarak da adlandırılan bölümleme destekler.
SQL Server üç birleştirmek işlemlerini kullanır:
Iç içe geçmiş döngüleri birleştirmeler
Birleştirme birleştirmek
Karma birleştirmeler
Bir birleştirmek giriş küçük (10'dan az satırlar) ve diğeri ise birleştirmek giriş oldukça büyük ve dizinlenmiş, birleştirmek sütunlarında, en az g/Ç ve en az karşılaştırmaları gerektirdiğinden bir Dizin iç içe geçmiş döngüleri birleştirmek hızlı birleştirmek işlemi.Iç içe geçmiş döngüleri hakkında daha fazla bilgi için bkz: Iç içe döngü anlama birleşimler.
Bir birleştirmeyi birleştirmek, iki birleştirmek girişleri küçük değildir, ancak üzerinde (örneğin, tarama bir sıralı dizinler elde), birleştirmek sütun sıralanır, hızlı birleştirmek işlemi olur.Önceki sıralama ile bir birleştirmeyi birleştirmek ve karma birleştirmek, hem de birleştirmek girdileri büyük olan ve iki giriş benzer boyuttaki, benzer bir performans sağlar.Ancak, karma birleştirmek işlemlerini çok daha hızlı ise çoğunlukla olarak iki giriş boyutlarını önemli ölçüde birbirinden farklıdır.Daha fazla bilgi için bkz:Birleştirme anlama birleşimler.
Karma birleştirmeler, büyük, sıralanmamış, dizinlenmemiş girdileri verimli biçimde işleyebilir.Karmaşık sorgularda, çünkü ara sonuçlar için yararlı olur:
Ara sonuçlar (açıkça diske kaydedilir ve sonra dizin sürece) dizine eklenir ve genellikle uygun sonraki operasyon için sorgu planında sıralanır değil.
Sorgu optimizers yalnızca ara sonuç boyutları tahmin.Tahminleri çok karmaşık sorgular için yanlış olduğundan, ara sonuçlar işlemek için kullanılan algoritmalar yalnızca etkin olması gerekir, ancak bir ara sonuçlar kapatır beklenen çok daha büyük, ayrıca olağan biçimde düşmesine gerekir.
Karma birleştirmek iskontolarındaki indirimleri denormalization kullanımını sağlar.Denormalization, genellikle, birleştirmek işlemlerini artıklık (Tutarsız Güncelleştirmeler gibi) tehlikeleri spite, azaltarak daha iyi performans elde etmek için kullanılır.Karma birleştirmeler normalleştirilmişlikten çıkarmak gereksinimini azaltır.Karma birleştirmeler, fiziksel veritabanı tasarım için uygun bir seçenek olmasını (ayrı dosyalar veya dizinler için tek bir tablo sütunlarından temsil eden grupları) bölümleme dikey izin ver.Daha fazla bilgi için bkz:Karma anlama birleşimler.