KB4023419 - PERBAIKI: Kueri dengan GABUNGAN SEMUA dan tujuan baris mungkin berjalan lebih lambat di SQL Server versi 2014 atau yang lebih baru jika dibandingkan dengan SQL Server 2008 R2

Berlaku Untuk
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1

Gejala

Ketika Anda mengkueri tampilan di Microsoft SQL Server 2014 atau 2016, mungkin perlu waktu lebih lama untuk menyelesaikannya jika Anda membandingkannya dengan eksekusi di SQL Server 2008 R2.

Saat menjalankan kueri yang menggunakan UNION ALL dan target baris (seperti klausa TOP N, FAST N, atau predikat EXISTS), Anda mungkin melihat bahwa kueri berjalan lebih lambat di SQL Server 2014 atau versi yang lebih baru jika dibandingkan dengan SQL Server 2008 R2.

Penyebab

Di SQL Server 2008 R2, Pengoptimal Kueri mengubah urutan bagian yang berbeda di bawah UNION ALL jika tujuan baris ada, sehingga bagian termurah didahulukan. Hal ini memungkinkan kueri menyelesaikan eksekusi lebih awal jika suku cadang yang lebih murah menghasilkan jumlah baris yang diperlukan, tanpa terus mengeksekusi bagian yang lebih mahal. Pengurutan ulang semacam itu tidak terjadi di versi SQL Server yang lebih baru.

Resolusi

Masalah ini telah diperbaiki dalam pembaruan kumulatif berikut 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 tautan berikut:

Hotfix SQL Server Query Optimizer model pelayanan TF 4199

Perintah konsol DBCC dan bendera Lacak

Tentang pembaruan kumulatif untuk SQL Server:

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:

Pembaruan kumulatif terbaru untuk SQL Server 2016

Pembaruan kumulatif terbaru untuk SQL Server 2014

Status

Microsoft telah mengonfirmasi bahwa ini adalah masalah dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".

Referensi

Pelajari tentang terminologi yang digunakan Microsoft untuk menjelaskan pembaruan perangkat lunak.