این مقاله در قالب ورد (word) و قابل ویرایش می باشد.تعداد صفحات: 163
فهرست:
مقدمه
بهینه ساز پرس و جو چیست ؟
فصل اول : بهینه سازی پرس و جو
بهینه سازی پرس و جو
مراحل فرآیند بهینه سازی
درخت های پرس و جو
تبدیلات
دستکاری های جبری
الگوریتم بهینه سازی پرس و جو
انتخاب رویه های سطح پایین
تولید طرح های پرس و جو و انتخاب یکی از آنها
فصل دوم : روش های بهینه سازی پرس و جو
تبدیل پرس و جو
فرآیند تجزیه (The parsing process)
فرآیند طبقهبندی (The standardization process)
بهینه ساز پرسوجو (The Query optimizer)
بهینهسازی اکتشافی (Hevristic Optimization)
بهینهسازی نحوی (Syntactical optimizer)
بهینهسازی بر مبنای هزینه (Cost – based optimization)
بهینهساز معنایی (Semantic optimization)
تحلیل پرسوجو (Query Andysis)
انتخاب شاخص (Index selection)
انتخاب الحاق (Join selection)
فصل سوم : تشریح روش کار بهینه ساز پرسوجو Microsoft SQL Server
“STEP n”
نوع پرسوجوانتخاب است(در یک جدول موقت) “The type of query is SELECT”
نوع پرسوجو<query type> است
حالت بروز رسانی به تعویق افتاده میشود “The update mode is deferred”
حالت بروزرسانی مستقیم است “The update mode is direct”
Group by
تراکم ستونی “Scalar Aggregate”
تراکم برداری “Vertor agyregate”
“FROM TABLE”
“TO TABLE”
جدول موقت “Worktable”
جدول موقت ایجاد شده برای SELECT INTO “Worktable created for SELECT-INTO"
جدول موقت برای DISTINCT ایجاد می شود “Worktable created for DISTINCT”
جدول موقت برای ORDER By ایجاد میشود “Worktable created for ORDER By”
جدول موقت برای REFORMATTING ایجاد میشود “Worktable created for REFORMATING”
This step involves sorting” “
استفاده از GETSORED “Using GETSTORED”
تکرار متداخل “Nested iterotion”
“EXIST TABLE: NESTED iteration”
پویش جدول “TABLE SCAN"
استفاده از شاخص خوشه بندی شده “Using clustered Index”
“Index :<index name>”
استفاده از شاخص پویا “Using Dynamic Index”
فصل چهارم : تخمین زمان اقتباس یک بهینهساز پرس و جو
مقدمه ای بر این فصل
محرک (Motivation)
راه حل (Solution)
زمینه و کار قبلی
برنامه سازی پویای تجدید نظر شده
کار قبلی و محدودیتهای آن
روش ما
دوباره استفاده کردن از شمارشگر اتصال
خواص طرح فیزیکی
تخمین مقدار طرحها با یک نوع از خواص فیزیکی
مطالعه انواع چندتایی خواص فیزیکی
تبدیل طرحهای تخمین زده شده به زمان تخمین زده شده
نتایج آزمایشی
سربار (overhead) تخمین طرح
صحت تعداد تخمین زده شده طرحها
صحت تخمین زمان اقتباس
خلاصه آزمایشات
بحث
بهینه ساز پرسوجو چیست؟
بهینهساز پرسوجو از اهمیت زیادی برای پایگاه داده ارتباطی برخوردار است، مخصوصا برای اجرای دستورات پیچیده SQL . یک بهینه ساز پرسوجو بهترین استراتژی بر اجرای هر پرسوجو را تعیین میکند.
بهینهساز پرس و جو به عنوان مثال انتخاب میکند آیا از شاخص برای یک پرسوجو مشخص استفاده کند یا نه، وکدام تکنیک الحاق هنگامی که جداول با هم الحاق میشوند استفاده شود.
این تصمیم تاثیری بسیار زیادی بر روی کارآیی SQL دارد، و بهینهسازی پرسوجو یک تکنولوژی کلیدی بر هر کاربردی است، از سیستمهای قابل استفاده (Operatianal system) تا انبارههای دادهای (Data warehause) و سیستمهای تحلیل (analysis systems) تا سیستمهای مدیریت محتویات (canternt – management) .
بهینهساز پرسوجو برای برنامههای کاربردی و کاربران نهایی کاملا ناپیدا است . از آنجا که برنامههای کاربردی ممکن است هر SQL پیچیدهای راتولید کنند، بهینه سازها پرس و جو باید فوقالعاده سطح بالا و قدرتمند باشد.
برای مطمئن شدن به ایجاد یک کارآیی خوب. برای مثال بهینه سازهای دستورات SQL را تغییر شکل میدهد، به دلیل این که این دستورات میتوانند به معادلهایی تبدیل شوند اما با کارآیی بالاتر.
بهینهسازهای جستجو معمولا بر مبنای هزینه میباشند. در یک استراتژی بهینه سازی بر مبنای هزینه، طرحهای اجرایی چندگانهای برای یک پرس و جو شخص تولید میشود، و آنگاه یک هزینه تخمینی برای هر طرح محاسبه میشود. بهینه ساز پرسوجو طرحی که دارای کمترین هزینة تخمینی است را انتخاب میکند.
بهینهسازی پرس وجو
¨ بهبود کارآیی پرس وجو به صورت خودکار
¨ بهبود به معنی تضمین بهینه بودن نیست
مراحل فرآیند بهینه سازی
¨ انتخاب یک نمایش داخلی (internal representation)
¨ اعمال تغییرات لازم جهت بهبود کارآیی
¨ انتخاب رویههای دسترسی سطح پایین به دادهها
¨ تولید طرحهای اجرایی پرس وجو و تخصیص هزینه به آنها
¨ انتخاب یک طرح اجرایی با کمترین هزینه
درختهای پرسوجو
نمایش درخت عبارت جبر رابطهای با شرایط:
- پیمایش میانوندی درخت عبارت اصلی را تولید کند.
- عملگرهای دوتایی موجود – 0 U,X میباشند.
- عملگرهای یکتایی موجود میباشند.
- همه برگها دردرخت رابطهای پایه ای میباشند.