جلسه پنجم دوره Performance & Tuning در SQL Server با موفقیت برگزار شد در طی این جلسه ما در مورد Clustered Index و همچنین Non Clustered Index صحبت کردیم. مباحثی که در این جلسه به ازای این نوع ایندکس بررسی شد در سطح متوسط بوده و از جلسه بعد مباحث مربوط به این نوع ایندکس به طور دقیق بررسی خواهد شد.
و اما در ادامه گزارش مربوط به این جلسه 3 مورد از نکاتی که در این جلسه به آن اشاره شد را بررسی خواهیم کرد.
1- معرفی Clustered Index
در این جلسه ما بررسی اولیه روی کلاستر ایندکس داشتیم. به طور خیلی خلاصه کلاستر ایندکس ترتیب رکوردهای یک جدول را مشخص میکند. انتخاب درست کلید کلاستر ایندکس در بیشتر پروژهها تاثیر بسیار مثبتی در عملکرد کوئریها دارد. بنابراین به عنوان یک اصل ویژه باید به این نکته توجه داشته باشید.
به فیلد یا فیلدهایی که به عنوان کلید کلاستر ایندکس انتخاب میشوند Clustered Key میگویند. یک Clustered Key باید 5 ویژگی اساسی داشته باشد که بتوان آن را به عنوان کلید ایندکس انتخاب کرد. در طی این جلسه نکات مربوط به این موضوع بررسی شده است.
2- معرفی NonClustered Index
یکی دیگر از انواع ایندکسهای که د جهت افزایش سرعت کوئریها از آن استفاده میشود NonClustered Indexها هستند. NonClustered Indexها بر دو نوع هستند. تصویر زیر انواع مختلف آنها را به شما نمایش میدهد.
3- بررسی مفهوم Tipping Point :
یکی از مباحث جالب موجود در بحث NonClustered Indexها مفهوم Tipping Point میباشد. زمانیکه SQL Server تصمیم به استفاده از یک NonClustered Index میگیرد ممکن است نیاز به فرآیند Lookup داشته باشد.
عملیات Lookup زمانیکه رکوردهای بازگشتی ایندکس زیاد باشد هزینهبر است. بنابراین SQL Server باید تصمیم بگیرید که آیا بهتر است از Lookup استفاده کند و یا خیر محل این تصمیمگیری Tipping Point میباشد. در طی این جلسه ما جزئیات بیشتری در این خصوص را بررسی کردیم.
1- آشنایی با Clustered Index
2- بررسی ویژگیهای کلید Clustered Index
3- آشنایی با Non Clustered Index
4- آشنایی با مفهوم Lookup
5- آشنایی با انواع Lookup
6- آشنایی با Key Lookup
7- آشنایی با RID Lookup
8- بررسی استفاده از Cover Index جهت حذف هزینه Lookup
9- بررسی تحلیل Execution Plan هنگام استفاده از کلاستر ایندکس
10- بررسی تحلیل Execution Plan هنگام استفاده از NonClustered Index
11- بررسی استفاده از Filtered Index
12- بررسی وضعیت Log File هنگام اعمال تغییرات در جداول (بررسی لاگ ثبت شده به ازای Non Clustered Index)
13- و…
منبع: آموزش برنامه نویسی نیک آموز
1 دیدگاه
مجتبی شهریور
سلام
حق نگهدارتان .. بسیار عالی .