دوره های آموزشی
خانه / پایگاه داده / SQL Server / نحوه مقایسه کارایی دو کوئری

نحوه مقایسه کارایی دو کوئری

همونطور که میدونین اگر یک پرس و جو رو به افراد متفاوتی بدیم، ممکنه هر فرد برا ی تولید خروجی مورد نظر، کوئری های متفاوتی طراحی کنه.
یک سؤال که مطرح میشه این هست که چطور این کوئری ها رو مقایسه کنیم و بهترین کوئری ( از دید Performnce) رو انتخاب کنیم.

اولین موردی که برای مقایسه به ذهن هر کسی خطور میکنه، زمان اجرای کوئری یا Execution Time هست. ( که البته مبنای مقایسه اشتباهی هم نیست)
اما اگر بخوایم مقایسه دقیق تری داشته باشیم. ( مثلا اگر زمان احرای چند کوئرد باه برابر باشه). یکی از Option هایی که میتونیم فعال کنیم Statistics IO هست. که میزان IO انجام شده به ازای کوئرد رو نمایش میده.
نمایش آمار IO به ازای اجرای کوئرد:
Set Statistics IO ON
بعد از اجرای دستور بالا، اطلاعات IO اجرای کوئری در قسمت Message به ما نمایش داد می شود که شامل Logical Read – Physical Read , Scan count می باشد.
مقدار Physical Read معرف تعداد صفحه ای (Page) است که از هارد (Physic) خونده میشه و
مقدار Logical Read معرف تعداد صفحه ای (Page) است که از Cache خوانده می شود. (قبلا در حافظه موجود بوده و به هارد مراجعه نمی شود)
پس هر چه مقدار این دو (Physical Read – Logical Read) کمتر باشه، نشون میده که کوئری بهتری برای اجرا خواهیم داشت
مقدار Scan Count رو در ادامه توضیح خواهم داد

photo_2016-09-27_08-13-41

Physical/Logical Read

photo_2016-09-27_08-13-48

Set Statistics Io on

درباره ی برنامه نویسان

همچنین ببینید

فیلم آموزش برنامه نویسی

فیلم آموزشی SQL Server 2014 / ASP.NET/CSS/jQuery

فیلم آموزشی SQL Server 2014 / ASP.NET/CSS/jQuery چرا باید  SQL Server و  Visual Studio را ...

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *