PDA

View Full Version : پایین امدن سرعت استفاده از دستور Not In در sql server 2012



mehdin69
دوشنبه 25 فروردین 1393, 10:18 صبح
سلام دوستان
توی sql server 2012 وقتی از دستور not in استفاده میکنم سرعت query به شدت افت میکنه در حالی که این مشکل در دستور sql server 2008 یا ۲۰۰۵ وجود نداشت
این در حالی هست که با دستور IN هیچ مشکلی بوجود نمیاد و فقط با دستور Not IN سرعت افت پیدا میکنه
چه تغییر ساختاری توی sql بوجود اومده که باعث میشه این دستور این مشکل براش پیش بیاد؟
و راه حل این مشکل چیه؟ ایا از دستور دیگه ای باید استفاده کنیم؟

حمیدرضاصادقیان
دوشنبه 25 فروردین 1393, 18:11 عصر
سلام.
کلا هنگام استفاده از Not In پیشنهاد میشه به جاش از Not Exists استفاده کنید که Performance بهتری داره و این هم مربوط به نسخه 2012 نمیشه و درهمه نسخه ها صادقه.

mehdin69
سه شنبه 26 فروردین 1393, 11:42 صبح
سلام.
کلا هنگام استفاده از Not In پیشنهاد میشه به جاش از Not Exists استفاده کنید که Performance بهتری داره و این هم مربوط به نسخه 2012 نمیشه و درهمه نسخه ها صادقه.

مهندس جان دست گلتون درد نکنه همین نکته کوچیک توی کد نویسی سرعت گزارش هایی که این دستور رو استفاده کرده بودم بسیار بالا برد
جالب این هست که دستور Not IN داشت توی sql server 2000, 2008 R2 خوب جواب میداد و به محض اینکه دیتابیس تغییر کرد به شدت همه چی عوض شد