Makale numarası: 225093 - Son Gözden Geçirme: 14 Mart 2006 Salı - Gözden geçirme: 2.1

Düzeltme: İç birleşim ile birden çok LIKE yan tümceleri değişkenleri kullanarak ile düşük performans

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
# HATA: 55032 (SQLBUG_70)
Hepsini aç | Hepsini kapa

Belirtiler

LIKE yan tümceleri kullanmak yerine dize hazır bilgi, bir iç birleşim ile birden çok LIKE yan tümceleri iki tablo arasında bir zayıf bir sorgu planı oluşturur.

Pratik Çözüm

Bu kullanım aşağıdaki bir çözüm için <a0></a0>:
  • Değişken dize sabitleri ile değiştirin.
  • Döngü birleştirme zorlamak için bir ipucu sağlar. Örneğin, ınner LOOP JOIN, ınner JOIN yerine kullanın.
  • Sistem saklı yordamını sp_executesql değişkenler parametre olarak geçirmeden bu sorguyu yürütmek için kullanın. Sözdizimi için Ayrıntılar "sp_executesql (T-SQL)" Books Online makalesine bakın.

Durum

Microsoft bu sorunun, SQL Server 7.0 için onaylamıştır. Bu sorun, Microsoft SQL Server 7.0 için ABD Service Pack 2'de giderilmiştir. Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
254561  (http://support.microsoft.com/kb/254561/ ) INF: Microsoft SQL Server 7.0 ve Microsoft Data Engine (MSDE) 1.0 Service Pack 2 nasıl elde edilir
Daha fazla bilgi için, birincil destek sağlayıcınıza başvurun.

Daha fazla bilgi

Bu hatayı karşılaşmanız için aşağıdaki koşulların karşılanması gerekir:
  1. Sorgu, bir iç birleşim içermesi gerekir.
  2. Sorgunun WHERE yan tümcesi birden çok LIKE içermeli yüklemleri.
  3. LIKE yüklemler değişkeni, dize sabiti geçirilmelidir (yani, "... VE sütun LIKE @ myvar1...").
Iç birleşim veya ANSI standart, hem de Transact-SQL (TSQL) birleşimi sözdizimi kullanabilir.

Örneğin, aşağıdaki sorgu, bu sorunun gösterir:
SELECT p.first_name
FROM person p
INNER JOIN customer c ON p.person_id = c.person_id 
WHERE p.last_name LIKE @last_name AND
   p.first_name LIKE @first_name 
				

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 7.0 Standard Edition
Anahtar Kelimeler: 
kbmt kbbug kbfix KB225093 KbMttr
Otomatik TercümeOtomatik Tercüme
Ö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:225093  (http://support.microsoft.com/kb/225093/en-us/ )