# پایگاه‌های داده > SQL Server > مدیریت دیتابیس (Database Administration) > Performance Tuning >  ایندکس گذاری روی جدولی شبیه به انبار داده

## hamid_hr

سلام
من یک جدول دارم که داده های داشبود داخلش ریخته میشه 
تعداد Column ها زیاد هست و امکان داره هر نوع شرطی روی این داده ها زده بشه(دست کاربر هست)
وقتی اطلاعات من زیاد میشه واکشی خیلی زمان بر هست. 
به نظر شما روی این نوع جداول ایندکس گذاری  کنیم تغییری ایجاد میشه؟ چون کوئری ها داینامیک هست و امکان داره برای هر ستون شرط ایجاد بشه هست

----------


## farhad_shiri_ex

> سلام
> من یک جدول دارم که داده های داشبود داخلش ریخته میشه 
> تعداد Column ها زیاد هست و امکان داره هر نوع شرطی روی این داده ها زده بشه(دست کاربر هست)
> وقتی اطلاعات من زیاد میشه واکشی خیلی زمان بر هست. 
> به نظر شما روی این نوع جداول ایندکس گذاری  کنیم تغییری ایجاد میشه؟ چون کوئری ها داینامیک هست و امکان داره برای هر ستون شرط ایجاد بشه هست


اینکه ایندکس گذاری کنید شک نکنید در واکشی اطلاعات تاثیر گذار هست! 
منتهی مراتب سطح نرمال سازی دیتابیس و همچنین نحوه نوشتن کوئری هم خیلی تاثیر گذار خواهد بود(ترتیب نوشتن بانکها و فیلدها و Join هاو...) بهتره از ابزار Profiler استفاده کنید و estimated cost plan و actual cost plan کوئری ها را در هر دو روش ایندکس دار و بدون ایندکس تهیه کنید خودتون متوجه خواهید شد.
البته یک روش هم این هست که ایندکس کردن را هم داینامیک کنید البته می تونید با یک JOBسرویس ویا یک DTS این کار را انجام بدید. که البته شاید در صورت داشتن تعداد رکورد های بالا در زمان ساختن اولین بار کلید های ایندکس کمی معطلی داشته باشید ولی در دفعات بعد که ایندکس ها را به روز میکنید زمان زیادی نخواهد برد. 
البته

----------


## hamid_hr

> اینکه ایندکس گذاری کنید شک نکنید در واکشی اطلاعات تاثیر گذار هست


ممنون
مشکل اینه که کاربر توسط صفحه شرط ها رو مشخص میکنه یعنی کوئری ما داینامیک هست.
در مورد ایندکس داینامیک یکم توضیح میدید؟

----------


## hosseinruzi

من بهتون پیشنهاد میکنم از in memory استفاده کنید البته اگه رم بالایی داشته باشه سرورتون یا جدول تعداد رکورد زیاد نداشته باشه

----------

