#ارتقائ به sqlserver 2014
بعد از اینکه sqlserver رو از ورژن های پایین تر (sqlserver 7 - sqlserver2012) به ورژن های بالاتر (sqlserver 2014-2016) ارتقائ میدین ممکنه که سرعت اجرای بعضی از کوئرهای شما به شدت کاهش پیدا کنه!!!!
دلیل این کاهش کارایی، این هستش که از نسخه 2014 ، در الگوریتم تخمین تعداد رکورد بازگشتی یک کوئری تغییراتی ایجاد شده است. ممکنه بپرسین که منطقا این تغییر باید سرعت اجرا رو بهتر کنه و نه بدتر!!! پاسخ این هستش که در هر صورت هیچ تخمینی دقیق و بهینه نیست و بهبودی که در نسخه 2014/2016 داده شده در اکثر موارد خیلی خوب و بهینه کار می کنه (این مورد رو در لینک انتهای مطلب مطالعه بفرمایید).
و اما راه حل:
برای رفع این مشکل، شما بایستی به Optimizer بگین که برای این کوئری خاص، از همون روش تخمین ورژن های قدیمی استفاده کن، تنها کافیه در انتهای کوئری از OPTION (QUERYTRACEON 9481, RECOMPILE); استفاده کنید.
محسن بندامیر @Mohsen_bandamir
مطالعه بیشتر:
http://beyamooz.com/forum/threads/314-%D8%AA%D9%81%D8%A7%D9%88%D8%AA-%D8%AA%D8%AE%D9%85%DB%8C%D9%86-%D8%AA%D8%B9%D8%AF%D8%A7%D8%AF%D8%B1%DA%A9%D9%88%D8%B1%D8%AF-%D8%A8%D8%A7%D8%B2%DA%AF%D8%B4%D8%AA%DB%8C-cardinality-estimation-%D8%AF%D8%B1-sql2014-%D8%A8%D8%A7-%D9%86%D8%B3%D8%AE%D9%87-%D9%87%D8%A7%DB%8C-%D9%82%D8%A8%D9%84%DB%8C-Sql
Post #502
1.51K