PDA

View Full Version : ایندکس گذاری روی جدولی شبیه به انبار داده



hamid_hr
یک شنبه 08 مهر 1397, 15:32 عصر
سلام
من یک جدول دارم که داده های داشبود داخلش ریخته میشه
تعداد Column ها زیاد هست و امکان داره هر نوع شرطی روی این داده ها زده بشه(دست کاربر هست)
وقتی اطلاعات من زیاد میشه واکشی خیلی زمان بر هست.
به نظر شما روی این نوع جداول ایندکس گذاری کنیم تغییری ایجاد میشه؟ چون کوئری ها داینامیک هست و امکان داره برای هر ستون شرط ایجاد بشه هست

farhad_shiri_ex
یک شنبه 08 مهر 1397, 15:59 عصر
سلام
من یک جدول دارم که داده های داشبود داخلش ریخته میشه
تعداد Column ها زیاد هست و امکان داره هر نوع شرطی روی این داده ها زده بشه(دست کاربر هست)
وقتی اطلاعات من زیاد میشه واکشی خیلی زمان بر هست.
به نظر شما روی این نوع جداول ایندکس گذاری کنیم تغییری ایجاد میشه؟ چون کوئری ها داینامیک هست و امکان داره برای هر ستون شرط ایجاد بشه هست

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

hamid_hr
یک شنبه 08 مهر 1397, 16:25 عصر
اینکه ایندکس گذاری کنید شک نکنید در واکشی اطلاعات تاثیر گذار هست
ممنون
مشکل اینه که کاربر توسط صفحه شرط ها رو مشخص میکنه یعنی کوئری ما داینامیک هست.
در مورد ایندکس داینامیک یکم توضیح میدید؟