وب‌سرویس مجید

پروژه lol_dba

plentz/lol_dba

این ابزار یک مجموعه کوچک از rake tasks است که مدل‌های برنامه‌ی ریلزی شما را بررسی می‌کند و لیستی از ستون‌هایی را نمایش می‌دهد که احتمالاً باید ایندکس (index) بشن.

همچنین می‌تونه اسکریپت‌های مایگریشن .sql تولید کنه تا راحت‌تر بتونید ایندکس‌ها رو اضافه کنید.

کاربرد:

کمک می‌کنه عملکرد دیتابیس رو بهبود بدی با شناسایی ستون‌هایی که فاقد ایندکس هستن ولی بهتره داشته باشن.

مخصوصاً وقتی رابطه‌های belongs_to یا کوئری‌های پرتکرار وجود داره، این ابزار متوجه می‌شه و پیشنهاد می‌ده.

در چه شرایطی بهتره استفاده شود؟

وقتی داری یک اپلیکیشن ریلزی بزرگ می‌سازی و می‌خوای از کندی دیتابیس جلوگیری کنی. ️

یا وقتی داری یک پروژه‌ی قدیمی رو بهینه می‌کنی و نمی‌دونی کدوم ستون‌ها باید ایندکس بشن.

چند مثال از موارد استفاده:

- ستون‌های user_id در جداولی که با belongs_to :user تعریف شدن.

- ستون‌هایی که توی where یا joins زیاد استفاده می‌شن ولی ایندکس ندارن.

- تولید خودکار اسکریپت SQL برای اجرای ایندکس‌ها در محیط‌های مختلف.

  • ##database
  • ##rails
  • ##index
  • ##rake
  • ##lol
  • ##performance
  • ##sql
  • ##rails
  • ##db
  • ##ruby