نمایش نتایج 1 تا 6 از 6

نام تاپیک: ایندکس گذاری روی جدولی شبیه به انبار داده

  1. #1

    ایندکس گذاری روی جدولی شبیه به انبار داده

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

  2. #2

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

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

  3. #3

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

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

  4. #4

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

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

  5. #5
    کاربر دائمی آواتار bitasoft.ir
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    جنگلهای تاریک اصفهان
    سن
    44
    پست
    279

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

    اول از همه باید عرض کنم که کار با داده های خیلی زیاد و دیتابیس های سنگین کار خیلی خیلی دشوار و زمانبری هست. اینطوری نیست که بگیم می خوام ایندکس بزارم و بعدش با یه حرکت کار تموم بشه. دوستانی که با رکورد های بالا و مشکلات آنها دست و پنجه نرم کر ده اند می دانند که واقعا تصمیم گیری در این مورد برای اینگونه دیتابیس ها سخت است.
    ایندکس‌گذاری (Indexing) می‌تواند بهبود قابل توجهی در عملکرد جستجوها و فیلترینگ‌ها در جداول داشته باشد، اما در صورتی که داده‌ها به صورت پویا و تغییر پذیر باشند و شرایط جستجوی کاربران متنوع باشند، باید با دقت به ایندکس‌گذاری نگریست. در اینجا تعدادی نکته مهم در مورد ایندکس‌گذاری در جداولی با داده‌های پویا و شرایط داینامیک را مطرح می‌کنم:
    تأثیر ایندکس بر عملکرد:
    ایندکس‌گذاری می‌تواند تأثیر مثبتی بر عملکرد کوئری‌های جستجویی داشته باشد، اما همچنین به همراه خود دارای هزینه‌های نگهداری می‌آید.
    ایندکس‌های زیاد ممکن است منجر به افزایش حجم دیسک و مصرف فضای فیزیکی شود. بنابراین، قبل از ایجاد هر ایندکس، باید ارزیابی دقیقی از نیازهای کوئری و مصرف منابع انجام داد.
    انتخاب ستون‌های مناسب برای ایندکس:
    ایندکس‌ها باید بر روی ستون‌هایی که در کوئری‌ها به عنوان شرط جستجو استفاده می‌شوند، ایجاد شوند. به عنوان مثال، اگر یک ستون به نام "تاریخ" (Date) برای جستجو مهم است، این ستون را باید ایندکس‌گذاری کنید.
    مدیریت ایندکس‌های ترکیبی:
    در صورتی که کوئری‌ها شرایط مختلفی برای فیلترینگ اطلاعات دارند، ممکن است نیاز به ایجاد ایندکس‌های ترکیبی باشد که برای ترکیب ستون‌ها و شرایط مختلف ایجاد می‌شوند.
    تغییرات در داده‌ها:
    اگر داده‌ها به صورت مداوم تغییر کنند، ایندکس‌ها باید مداوم به‌روزرسانی شوند که ممکن است به کارایی سیستم آسیب بزند. در این مورد، باید با فراهم آوردن برنامه‌های به‌روزرسانی ایندکس‌ها و مدیریت مصرف منابع برای این فرآیند مواجه شوید.
    پایش و بهینه‌سازی مداوم:
    باید قابلیت پایش و بهینه‌سازی مداوم ایندکس‌ها را داشته باشید. این به منظور شناسایی ایندکس‌هایی که دیگر لازم نیست و حذف آنها، یا ایجاد ایندکس‌های جدید برای نیازهای جدید کوئری‌هاست.
    استفاده از ابزارهای مدیریتی:
    ابزارهای مدیریتی SQL Server مانند SQL Server Management Studio (SSMS) امکاناتی برای تحلیل و مدیریت ایندکس‌ها را فراهم می‌کنند. از این ابزارها برای ایجاد، به‌روزرسانی و حذف ایندکس‌ها استفاده کنید.
    در نهایت، برای تصمیم‌گیری در مورد ایجاد ایندکس‌ها، نیاز به بررسی دقیق نیازهای کوئری و میزان اثربخشی ایندکس‌گذاری بر روی عملکرد دیتابیس دارید. همچنین باید هزینه‌ها و مزایای ایجاد هر ایندکس را در نظر بگیرید.




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

  6. #6
    کاربر دائمی آواتار bitasoft.ir
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    جنگلهای تاریک اصفهان
    سن
    44
    پست
    279

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

    استفاده از حافظه داخلی (In-Memory) در انبار داده (Database) وابسته به موارد مختلفی است که در طراحی و استفاده از سیستم می‌بایست در نظر گرفته شود. این تکنولوژی به کمک بهبود عملکرد و کارایی برخی بخش‌های دیتابیس در موارد خاص می‌آید، اما نیاز به ارزیابی دقیق ترافیک، حجم داده، نوع دستورات، و نیازهای کاربران دارد. برخی موارد کاربردی برای استفاده از In-Memory در انبار داده عبارتند از:

    • کارایی بالا: در مواردی که نیاز به پاسخگویی سریع به دستورات و جستجوها دارید (به ویژه در برنامه‌هایی با بار ترافیک بالا)، استفاده از حافظه داخلی می‌تواند بهبود چشمگیری در کارایی دیتابیس داشته باشد. این تکنولوژی اجازه می‌دهد داده‌ها به سرعت در حافظه بازیابی و به‌روزرسانی شوند.
    • کاهش زمان دسترسی به دیسک: In-Memory دسترسی به داده‌ها را از طریق حافظه داخلی فراهم می‌کند که سرعت بالاتری نسبت به دسترسی به دیسک دارد. این کاهش زمان دسترسی می‌تواند به خصوص در عملیات‌های خواندن موثر باشد.
    • پشتیبانی از تراکنش‌های سریع: In-Memory به تراکنش‌های سریع و با پایداری بالا اجازه می‌دهد. این ویژگی به کاربرانی که نیاز به انجام تراکنش‌هایی با حجم بالا در واحدهای زمانی کوتاه دارند، کمک می‌کند.
    • کاهش تاثیر قفل‌های همزمانی: In-Memory از قفل‌های همزمانی کمتری استفاده می‌کند، که می‌تواند از مسائل همگام‌سازی و قفل‌گذاری در تراکنش‌ها کاسته و کارایی را بهبود دهد.
    • پردازش همزمان بالا: In-Memory به پردازش همزمان بالا اجازه می‌دهد و کاربران می‌توانند به صورت همزمان به داده‌ها دسترسی داشته باشند.

    اگر نیاز به تسریع در عملکرد دیتابیس و دسترسی به داده‌ها دارید و معماری سیستم شما اجازه می‌دهد، استفاده از حافظه داخلی معقول و مفید است. اما باید به این نکته توجه داشته باشید که:
    • استفاده از In-Memory ممکن است به هزینه‌های بیشتری از نظر سخت‌افزاری نیاز داشته باشد.
    • باید به دقت معماری و نیازهای سیستم خود را ارزیابی کنید و از تست‌ها و تجربیات دقیقی برای اعمال این تکنولوژی استفاده کنید.
    • اگر داده‌ها به صورت مداوم تغییر می‌کنند، باید مدیریت به‌روزرسانی In-Memory را در نظر داشته باشید.
    • تنظیمات آن بسیار پیچیده است و گاهی اوقات نیاز به نصب سیستم عامل و نرم افزار مدیریت پایگاه داده مجدد دارد.

    به عنوان مثال، SQL Server 2014 به بالا قابلیت In-Memory OLTP را دارا است که می‌تواند در مواردی از بهبود عملکرد بسیار مفید باشد.

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

تاپیک های مشابه

  1. پاسخ: 4
    آخرین پست: سه شنبه 26 خرداد 1394, 10:38 صبح
  2. سوال: ایندکس گذاری روی View
    نوشته شده توسط pooyamirzapour در بخش SQL Server
    پاسخ: 7
    آخرین پست: دوشنبه 26 اسفند 1387, 18:50 عصر
  3. سوال: دسترسی به پایگاه داده ی Access روی هاست
    نوشته شده توسط Felony در بخش شبکه و Networking‌
    پاسخ: 11
    آخرین پست: دوشنبه 23 دی 1387, 16:33 عصر
  4. پاسخ: 20
    آخرین پست: جمعه 18 مرداد 1387, 16:08 عصر
  5. پاسخ: 1
    آخرین پست: چهارشنبه 16 مرداد 1387, 11:27 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •