بهبودهاي ايندكس

بهبودهاي جديدي در ايندكس‌ها در SQL Server 2005 وجود دارد. اول اين كه، بازسازي يك ايندكس كلاستر شده، ديگر تمام ايندكس‌هاي غيركلاستري را مجبور به بازسازي نمي‌كند. در SQL Server 2000، هنگام بازسازي يك ايندكس كلاستر شده، تمام ايندكس‌هاي كلاستر نشده مرتبط نيز بازسازي مي‌شدند. ديگر چنين حالتي وجود ندارد، زيرا SQL Server 2005 ايندكس‌هاي كلاستر نشده را در طي بازسازي ايندكس كلاستر شده صحيح و سالم حفظ مي‌كند.

سپس، يك ويژگي ستون‌هاي موجود وجود دارد كه به شما امكان افزودن ستون‌هاي غيركليدي را به ايندكس مي‌دهد. اين ويژگي جديد به پرس‌وجوهاي بيشتر امكان مي‌دهد تا توسط ايندكس تحت پوشش قرار گيرند، بنابراين كارآيي پرس‌وجو را با حداقل كردن نياز براي موتور SQL Server براي رفتن به جدول مرتبط براي تكميل پرس‌وجو بهبود مي‌بخشد. در عوض، موتور مي‌تواند الزامات پرس‌وجو را با استفاده از داده در ايندكس تحت پوشش برآورده سازد. يكي از جنبه‌هاي خوب ويژگي ستون‌هاي موجود جديد اين واقعيت است كه ستون‌هاي موجود كه بخشي از كليد نيستند، در اندازه حداكثر ايندكس وجود ندارند كه باز هم 900 بايت است.

بهبود ايندكس جديد ديگري كه مايكروسافت به SQL Server 2005 اضافه كرده است، توانايي غيرفعال كردن يك ايندكس است. غيرفعال كردن يك ايندكس، آن ايندكس را از نگهداري توسط موتور SQL Server متوقف كرده و هم‌چنين مانع از كاربرد ايندكس مي‌شود. هنگامي كه ايندكسي غيرفعال مي‌شود. SQL Server فضاي حافظه مورد استفاده ايندكس را مي‌گيرد ولي فوق داده ايندكس را حفظ مي‌كند. قبل از اين كه ايندكس غيرفعال بتواند مجدداً فعال شود، بايد با استفاده از فرمان ALTER INDEX بازسازي شود.

عمليات ايندكس Online

نگارش‌هاي قبلي SQL Server هيچ دستيابي به ايندكس را در هنگام بازسازي ايندكس ممكن نمي‌ساختند. شما بايد منتظر مي‌مانديد تا وقتي كه فرآيند بازسازي كامل شود و جدول بتواند مجدداً بهنگام شود. ويژگي عمليات ايندكس Online جديد SQL Server 2005 به برنامه‌ها امكان دستيابي به ايندكس و انجام عمليات بهنگام‌رساني، درج و حذف در يك جدول را مي‌دهد، در حالي كه عمليات بازسازي ايندكس در حال انجام است.