Gejala
Saat Anda meminta tampilan di Microsoft SQL Server 2014 atau 2016, mungkin memerlukan waktu lebih lama untuk menyelesaikan jika Anda membandingkannya dengan eksekusi di SQL Server 2008 R2.
Saat Anda menjalankan kueri yang menggunakan semua gabungan dan tujuan baris (seperti klausa N teratas, N cepat, atau predikat ada), Anda mungkin melihat bahwa kueri berjalan lebih lambat di SQL Server 2014 atau versi yang lebih baru jika Anda membandingkannya dengan SQL Server 2008 R2.
Penyebab
Di SQL Server 2008 R2, Pengoptimal kueri mengubah urutan bagian yang berbeda di bawah gabungan semua jika tujuan baris hadir, sehingga bagian termurah berjalan terlebih dahulu. Hal ini memungkinkan kueri menyelesaikan eksekusi lebih awal jika bagian yang lebih murah menghasilkan jumlah baris yang diperlukan, tanpa melanjutkan mengeksekusi bagian yang lebih mahal. Pengurutan ulang tersebut tidak terjadi di versi SQL Server yang lebih baru.
Pemecahan Masalah
Masalah ini telah diperbaiki dalam pembaruan kumulatif berikut ini untuk SQL Server:
Pembaruan kumulatif 7 untuk SQL Server 2016 RTM
Pembaruan kumulatif 4 untuk SQL Server 2016 SP1
Pembaruan kumulatif 6 untuk SQL Server 2014 SP2
Catatan Pengoptimal kueri harus diaktifkan untuk masalah ini.
Untuk informasi selengkapnya tentang Pengoptimal kueri dan bendera pelacakan, lihat link berikut ini:
Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Lihat pembaruan kumulatif terbaru untuk SQL Server:
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".
Referensi
Pelajari tentang terminologiyang digunakan Microsoft untuk menjelaskan pembaruan perangkat lunak.