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
