Saya sudah lama mencari dan masih belum menemukan jawaban untuk masalah saya.
Dynamics AX kami menghasilkan kueri dengan OPTION petunjuk petunjuk (FAST x), yang terkadang memaksa rencana eksekusi yang buruk untuk digunakan. Para pengembang mengatakan ini secara default dan sulit untuk diubah (harus diperbaiki pada semua bentuk secara potensial).
Jadi saya mencari cara untuk mengganti petunjuk ini menggunakan jejak jejak. Saya menemukan jejak jejak 8722 yang indah yang diklaim membuat SQL Server mengabaikan beberapa petunjuk permintaan, terutama yang ada di klausa OPSI.
Namun, ini tidak berfungsi dalam kasus saya. Saya mencoba untuk mengaktifkan jejak flag 8602 (menonaktifkan petunjuk indeks) juga, tetapi permintaan saya masih berjalan dengan petunjuk x CEPAT (itu jauh lebih lambat daripada ketika saya benar-benar menghapus klausa OPSI).
Saya mencoba menghapus cache rencana juga, tetapi tidak berhasil.
Ada ide? Apakah saya kehilangan sesuatu?
PS Saya mengaktifkan tanda jejak secara global, ini adalah edisi SQL Server 2012 Developer
sumber
Jawaban:
Sejauh yang saya tahu, jejak bendera 8722, 8755, dan 8602 tidak pernah secara resmi didokumentasikan. Terakhir kali saya ingat mereka menjadi efektif adalah dalam SQL Server 2000, jadi tidak terlalu mengejutkan bahwa Anda menemukan mereka diabaikan dalam SQL Server 2012.
Untuk pola kueri tertentu, sering kali mungkin menghapus
FAST n
petunjuk menggunakan panduan paket. Meski begitu, perbaikan terbaik adalah untuk mendapatkan pengembang AXE untuk memperbaikinya di sisi aplikasi hal.sumber