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

نحوه مقایسه کارایی دو کوئری – آموزش کوئری نویسی در SQL

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

اولین موردی که برای مقایسه به ذهن هر کسی خطور میکنه، زمان اجرای کوئری یا Execution Time هست. ( که البته مبنای مقایسه اشتباهی هم نیست)
اما اگر بخوایم مقایسه دقیق تری داشته باشیم. ( مثلا اگر زمان احرای چند کوئرد باه برابر باشه). یکی از Option هایی که میتونیم فعال کنیم Statistics IO هست. که میزان IO انجام شده به ازای کوئرد رو نمایش میده.

آموزش کوئری نویسی در SQL :

نمایش آمار 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 رو در ادامه توضیح خواهم داد

آموزش کوئری نویسی در SQL

Physical/Logical Read

نحوه نوشتن query در sql

Set Statistics Io on


دوره آموزشی Sql Server

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

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

آموزش SQL Server

آموزش ساخت پایگاه داده در Sql Server

آموزش ساخت پایگاه داده در Sql Server دنیای پایگاه داده SQL SERVER – قسمت دوم در سری ...

یک دیدگاه

  1. با سلام و خسته نباشی من در نوشتن برنامه اس کیو ال چند تا سوال که برای هتل است با مشکل مواجه شدم می توانید کمکم کنید لظفا
    1-تعداد کل مسافرانی که از ابتدا تا کنون در هر اتاق ساکن بوده ان
    2-تعداد کل مسافرانی که هر اتاق در هر سال پذیرایی کرده است
    3-نام مسافرانی که در هر سال بیشترین مدت اقامت در هر هتل را داشته اند به همراه تعداد روز اقامت آنها
    4-تعداد کل مبلغی که هر کارمند در هر روز از مشتریاندریافت کرده است
    5-شماره کارمندانی که تا کنون اتاق 101 را رزرو داده اندبه شرط آنکه اتاق 102 را رزرو نداشته باشند
    6-مجموع درآمدی که هر اتاق در هر سال برای هتل داشته است
    7-لیست اتاق عایی که در هر سال خالی منده اند

دیدگاهتان را بنویسید

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