T-SQL - OPTION (FAST x) ve izleme bayrağı 8722


9

Uzun zamandır aradım ve hala sorunumun cevabını bulamadım.

Dynamics AX ürünümüz, bazen kötü bir yürütme planının kullanılmasını zorlayan OPTION (FAST x) sorgu ipucu ile sorgular üretmektedir. Geliştiriciler, varsayılan olarak değiştirilmesinin zor olduğunu söylüyor (potansiyel olarak tüm formlara sabitlenmesi gerekiyor).

Böylece iz ipuçlarını kullanarak bu ipuçlarını geçersiz kılmak için bir yoldan sonraydım. SQL Server bazı sorgu ipuçlarını, özellikle de SEÇENEK yan tümcesi olanları görmezden geldiği iddia edilen güzel izleme bayrağı 8722 buldum.

Ancak bu benim durumumda işe yaramıyor. Ben de izleme bayrağı 8602 (dizin ipuçlarını devre dışı bırak) etkinleştirmeyi denedim, ancak benim sorgu hala HIZLI x ipucu ile çalışıyor (aslında SEÇENEK yan tümcesi ne zaman çok daha yavaş).

Plan önbelleğini de temizlemeye çalıştım.

Herhangi bir fikir? Bir şey mi kaçırıyorum?

PS İzleme bayraklarını dünya çapında etkinleştirdim, bu SQL Server 2012 Developer sürümü


1
İz bayraklarını nasıl açtın? Sunucu başlangıcı veya dbcc traceon kullanarak açtınız mı? dbcc traceon bağlantı başına izleme işaretidir, bu nedenle bir istemci bağlantısında açmak diğer sunucu bağlantılarını etkilemez. Sunucu genelinde açmak için, başlangıç ​​komut satırına -T <traceflagnumber> eklemeniz gerekir. Ben sunucu geniş uygulamak için bir dbcc traceon (flag1, flag2, ..., - 1) kullanabileceğinizi düşünüyorum, ama ben hiç denemedim.
Mike

Merhaba Mike, izleme bayraklarını DBCC TRACEON (8722, -1) kullanarak global olarak etkinleştirdim ve ardından DBCC TRACESTATUS ile durumu kontrol ettim. Belki izleme bayrağı artık resmi olarak desteklenmiyor ya da aslında başlangıç ​​parametresine koyup hizmeti yeniden başlatmam gerekiyor ya da CU3'ün konusu (2012 SP2 RTM çalıştırıyorum).

Yanıtlar:


10

Bildiğim kadarıyla, 8722, 8755 ve 8602 izleme bayrakları asla resmi olarak belgelenmedi. Onları etkili hatırlıyorum son kez SQL Server 2000'di, bu yüzden SQL Server 2012'de yok sayılır bulmak şaşırtıcı değil.

Belirli sorgu kalıpları için, FAST nipucunu plan kılavuzlarını kullanarak kaldırmak genellikle mümkündür . Yine de, en iyi düzeltme, AX geliştiricilerini bir şeyin uygulama tarafında düzeltmesini sağlamaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.