Düzeltme: BIRLEŞTIRME UNION büyük sayıda UNION yan tümceleri ile kullanılıyor.

Makale çevirileri Makale çevirileri
Makale numarası: 295037 - Bu makalenin geçerli olduğu ürünleri görün.
# HATA: 351918 (shiloh_bugs)
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

20'Den fazla UNION ALL yan tümcesi dalları kullanan sorguları daha verimli BIRLEŞTIRME aşırı bellek kullanımına neden olur ve sorgu hatası oluşabilir UNION, yerine bir HASH birleşim ile çalıştırılır. Bu bir implication 24 düğümlerde çalışan bir dağıtılmış, bölümlenmiş görünümün görünüm 20 düğümlerde'den farklı ve daha az verimli planları sahip olur.

Çözüm

Bu sorunu gidermek için <a0></a0>, SQL Server 2000 için en son hizmet paketini edinin. Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
290211BILGI: en son SQL Server 2000 hizmet paketi nasıl elde edilir

Pratik Çözüm

Bir BIRLEŞTIRME bir UNION sorgusu ipucu kullanarak bu sorunu aşmak. Herhangi bir en iyi hale getirme ipuçları iyice üretime koyulmuş önce sınanmış olduğunu emin olun.

Durum

Microsoft SQL Server 2000'de bir sorun olduğunu onaylamıştır. Bu sorun ilk olarak SQL Server 2000 Service Pack 1'de giderilmiştir.

Daha fazla bilgi

Davranışı yeniden oluşturma adımları

  1. Query Analyzer'da bir pencere açın
  2. Sorgu) menüsünde Göster için yürütme planı seçin.
  3. Şu sorgu:
    use Northwind
    go
    select top 1 * from
    (
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders union all
    select orderid from orders 
    union all select orderid from orders
    ) xx
    order by orderid
    					
  4. Yürütme planı</a1> sekmesini ve sonuçları inceleyin.
  5. Sorgunun aşağıdaki satırı dışında Açıklama:
    union all select orderid from orders
    					
  6. Düzenlenen sorgu ve plandaki Yürütme planı</a0> sekmesinde, değişiklik inceleyin.

Özellikler

Makale numarası: 295037 - Last Review: 6 Kasım 2003 Perşembe - Gözden geçirme: 3.2
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2000 Standard Edition
Anahtar Kelimeler: 
kbmt kbbug kbfix kbsqlserv2000sp1fix KB295037 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:295037

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com