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

Ö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
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
# HATA: 351918 (shiloh_bugs)
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 Northwindgoselect top 1 * from(select orderid from orders union allselect orderid from orders union allselect orderid from orders union allselect orderid from orders union allselect orderid from orders union allselect orderid from orders union allselect orderid from orders union allselect orderid from orders union allselect orderid from orders union allselect orderid from orders union allselect orderid from orders union allselect orderid from orders union allselect orderid from orders union allselect orderid from orders union allselect orderid from orders union allselect orderid from orders union allselect orderid from orders union allselect orderid from orders union allselect orderid from orders union allselect orderid from orders union all select orderid from orders) xxorder 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.

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 295037 - Son İnceleme: 01/16/2015 22:17:27 - Düzeltme: 3.2

Microsoft SQL Server 2000 Standard Edition

  • kbnosurvey kbarchive kbmt kbbug kbfix kbsqlserv2000sp1fix KB295037 KbMttr
Geri bildirim
ERROR: at System.Diagnostics.Process.Kill() at Microsoft.Support.SEOInfrastructureService.PhantomJS.PhantomJSRunner.WaitForExit(Process process, Int32 waitTime, StringBuilder dataBuilder, Boolean isTotalProcessTimeout)