دوستان سلام
من جدولی دارم که لیستی از جاب ها رو در خودش ذخیره میکنه و همچنین رابطه ی یک به چند با جدولی دیگر داره که هر ردیف ممکنه چند ردیف دیگر در جدول دیگه متناظر داشته باشه. هدفم این هست که کوئری بنویسم که تعداد جابی که بصورت دستی ران شده و همچنین تعداد جابی که بصورت اتوماتیک ذخیره شده را از زیر مجموعه هر جاب در جدول دیگر پیدا کنه و به ما نمایش بده. کد ها هم بصورت زیر هست
$tasks = TaskModel::has('taskExecutions')->with('taskExecutions')->get();
تعریف متد در مدل مربوطه
$numberOfManualTaskExecutions = $this->taskExecutions()->where('trigger_type', 'manual')->count();
$numberOfScheduledTaskExecutions = $this->taskExecutions()->where('trigger_type', 'scheduled')->count();
return "${numberOfManualTaskExecutions}/${numberOfScheduledTaskExecutions}";
مسئله اینجاست که این کوئری خیلی طول میکشه . چطور میشه این زمان را کاهش داد؟
سلام. من متوجه نشدم که چیکار کردین، به هر حال میتونین کوئری SQL رو چک کنین، از EXPLAIN استفاده کنین، اگه با index مشکل حل میشه، ازش استفاده کنین، اگه طراحی دیتابیستون مشکل داره درستش کنین، و بعد از همهی اینها از کش استفاده کنین.
خدمتتون عارض شوم که EXPLAIN یه دستور توی SQLئه که بهتون میگه که کوئریتون چهطور اجرا شده و ممکنه مشکلات ایندکسگذاری رو اینطوری کشف کنید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟