I have this query but it is taking 10 seconds to execute. If I remove orderByRaw nad paginate then it only takes 15 ms. But I need to order it and paginate it. Is there another way to do it?
select count(*) as aggregate from "inkasso" left join "inkasso_items" on "inkasso"."id" = "inkasso_items"."ink_id" left join "end_statuses" on "inkasso"."end_status" = "end_statuses"."id" left join "inkasso_statuss" on ("inkasso"."status" = "inkasso_statuss"."id" or "inkasso"."parent_status" = "inkasso_statuss"."id") left join "companies" on ("inkasso"."parent_id" = "companies"."id" or "inkasso"."grand_parent_id" = "companies"."id") group by "inkasso"."id"
3.94s
select inkasso.id,inkasso.i_date,inkasso.end_date,inkasso.full_name,inkasso.status,inkasso.parent_status,inkasso.end_status,inkasso.debt_sum,inkasso.pay_sum,inkasso.rest_sum,inkasso.company,inkasso.parent_id,inkasso.grand_parent_id,inkasso.pers_code,inkasso.ink_number,inkasso.ink_sum,inkasso.employer,inkasso.credit_level,inkasso.note,COALESCE(SUM(inkasso_items.ink_sum), 0.00) as paid_ink,COALESCE(COUNT(inkasso_items), 0) as pay_count from "inkasso" left join "inkasso_items" on "inkasso"."id" = "inkasso_items"."ink_id" left join "end_statuses" on "inkasso"."end_status" = "end_statuses"."id" left join "inkasso_statuss" on ("inkasso"."status" = "inkasso_statuss"."id" or "inkasso"."parent_status" = "inkasso_statuss"."id") left join "companies" on ("inkasso"."parent_id" = "companies"."id" or "inkasso"."grand_parent_id" = "companies"."id") group by "inkasso"."id" order by end_date desc NULLS LAST limit 10 offset 0
4.45s
Query takes 10 seconds if I add orderBy and paginate
I have this query but it is taking 10 seconds to execute. If I remove orderByRaw nad paginate then it only takes 15 ms. But I need to order it and paginate it. Is there another way to do it?
Here are the queries executed from debugbar