تجربیات کاری چند دوست

در این وبلاگ تجربیاتی که در حین کار بدست آورده ایم را به اشتراک خواهیم گذاشت

تجربیات کاری چند دوست

در این وبلاگ تجربیاتی که در حین کار بدست آورده ایم را به اشتراک خواهیم گذاشت

تجربیات کاری چند دوست
آخرین نظرات
  • ۱۶ مرداد ۹۸، ۰۱:۰۰ - علی جهان نما
    عالی بود


مثال 1 : فرض کنید 1000000 کارمند وجود دارند و از بین آنها میخواهیم فردی را انتخاب کنیم که دارای حقوق 20 میلیون تومان میباشد . در صورتی که تنها یک نفر این حقوق را دریافت کند ،

Selectivity ما برابر با 1  تقسیم بر 1000000 میباشد که بسیار نزدیک به صفر است .

Cardinality برابر است با تعداد کل رکورد ها ضربدر Selectivity .

در این مثال Cardinality=1 میباشد.

;Select * from Employee where salary=20000000


مثال 2 : فرض کنید در دانشگاهی 1200 درس  توسط 200 استاد تدریس می شود . در این مثال برای فیلد نام استاد ،

 Num Distinct=200  میباشد . در صورتی که بخواهیم لیست دروسی را انتخاب نماییم که استاد X تدریس میکند دستور مورد نظر به شکل زیر میباشد :


Select lesson,teacher from lessons where teacher=X;


در این مثال Selectivity=1/200 است. از آنجا که تعداد کل رکوردها برابر 1200 عدد بوده است

 Cardinality = 1/200 * 1200 = 6

با توجه به اینکه یکی از مهم ترین آیتم ها در محاسبه Query COST ، کاردینالیتی میباشد ، میتوان نتیجه گرفت هرچه Selectivity  به صفر نزدیکتر باشد در نتیجه مقدار Cardinality کمتر و نتیجه Query سریعتر به دست خواهد آمد . 

  • موافقین ۱ مخالفین ۰
  • ۹۶/۱۰/۱۳
  • ۶۰۷ نمایش
  • حامد اسماعیلی

نظرات (۰)

هیچ نظری هنوز ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی