[local]|postgres@lsd=# explain(verbose, analyze, buffers, timing) select from mc_step s join mc_case c on c.id = s.case_id where s._clinic_id=89 and c.closing_step_id is null and c.closing_step_id is null order by s.admission_date desc, s.admission_time desc, s.id desc limit 16; QUERY PLAN --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------- Limit (cost=1.13..220155.25 rows=16 width=16) (actual time=0.159..2.316 rows=16 loops=1) Output: s.admission_date, s.admission_time, s.id Buffers: shared hit=1314 -> Nested Loop (cost=1.13..12067199.00 rows=877 width=16) (actual time=0.158..2.311 rows=16 loops=1) Output: s.admission_date, s.admission_time, s.id Buffers: shared hit=1314 -> Index Scan Backward using mc_step_admission_date_admission_time_id_idx on public.mc_step s (cost=0.56..7788464.24 rows=1817164 width=20) (actual time=0.144..2.211 rows=16 loops=1) Output: s.id, s.admission_date, s.admission_time, s.death_date, s.death_time, s.outcome_date, s.outcome_time, s.death_employee_id, s.main_diagnosis_id, s.case_id, s.outcome_id, s.outcome_clinic_id, s.outcome_regimen_id, s. regimen_id, s.res_group_id, s.result_id, s.reason_id, s.profile_id, s.mes_id, s.mes_quality_criterion_id, s.is_continue, s.is_continue_editable, s.standard_id, s.csg_id, s.vmp_type_id, s.vmp_method_id, s.deviation_reason_id, s.aud_who, s .aud_when, s.aud_source, s.aud_who_create, s.aud_when_create, s.aud_source_create, s._clinic_id, s._patient_id, s._case_mode_id, s._is_last, s._responsible_id, s._department_id, s.hsp_bed_days_amount, s.hsp_bed_profile_id, s.hsp_complexi ty_level_id, s.hsp_days_comp_algo_id, s.hsp_department_id, s.hsp_funding_id, s.hsp_is_admission_day_counts, s.hsp_is_diag_not_eq, s.hsp_is_set_diagnosis, s.hsp_issue_planned_date, s.hsp_mes_id, s.hsp_missed_days_amount, s.hsp_plan_depart ment_id, s.hsp_previous_id, s.hsp_refusal_employee_id, s.plc_goal_id, s.plc_initiator_id, s.plc_is_needed, s.plc_is_sanitized, s.plc_is_viewed, s.plc_place_id, s.plc_type_id, s.plc_appointment_id, s.plc_planned_date, s.is_autopsy, s.acti on_allowed_result_id Filter: (s._clinic_id = 89) Rows Removed by Filter: 559 Buffers: shared hit=1208 -> Index Scan using mc_case_pk on public.mc_case c (cost=0.56..2.34 rows=1 width=4) (actual time=0.004..0.005 rows=1 loops=16) Output: c.id Index Cond: (c.id = s.case_id) Filter: ((c.closing_step_id IS NULL) AND (c.closing_step_id IS NULL)) Buffers: shared hit=106 Planning time: 1.074 ms Execution time: 2.368 ms (18 rows) Time: 4.526 ms [local]|postgres@lsd=# explain(verbose, analyze, buffers, timing) select from mc_step s join mc_case c on c.id = s.case_id where s._clinic_id=89 and c.closing_step_id is null and c.closing_step_id is null order by s.admission_date desc, s.admission_time desc, s.id desc limit 16; QUERY PLAN --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------- Limit (cost=1.13..220155.25 rows=16 width=16) (actual time=0.152..3.985 rows=16 loops=1) Output: s.admission_date, s.admission_time, s.id Buffers: shared hit=1314 -> Nested Loop (cost=1.13..12067199.00 rows=877 width=16) (actual time=0.151..3.982 rows=16 loops=1) Output: s.admission_date, s.admission_time, s.id Buffers: shared hit=1314 -> Index Scan Backward using mc_step_admission_date_admission_time_id_idx on public.mc_step s (cost=0.56..7788464.24 rows=1817164 width=20) (actual time=0.137..3.862 rows=16 loops=1) Output: s.id, s.admission_date, s.admission_time, s.death_date, s.death_time, s.outcome_date, s.outcome_time, s.death_employee_id, s.main_diagnosis_id, s.case_id, s.outcome_id, s.outcome_clinic_id, s.outcome_regimen_id, s. regimen_id, s.res_group_id, s.result_id, s.reason_id, s.profile_id, s.mes_id, s.mes_quality_criterion_id, s.is_continue, s.is_continue_editable, s.standard_id, s.csg_id, s.vmp_type_id, s.vmp_method_id, s.deviation_reason_id, s.aud_who, s .aud_when, s.aud_source, s.aud_who_create, s.aud_when_create, s.aud_source_create, s._clinic_id, s._patient_id, s._case_mode_id, s._is_last, s._responsible_id, s._department_id, s.hsp_bed_days_amount, s.hsp_bed_profile_id, s.hsp_complexi ty_level_id, s.hsp_days_comp_algo_id, s.hsp_department_id, s.hsp_funding_id, s.hsp_is_admission_day_counts, s.hsp_is_diag_not_eq, s.hsp_is_set_diagnosis, s.hsp_issue_planned_date, s.hsp_mes_id, s.hsp_missed_days_amount, s.hsp_plan_depart ment_id, s.hsp_previous_id, s.hsp_refusal_employee_id, s.plc_goal_id, s.plc_initiator_id, s.plc_is_needed, s.plc_is_sanitized, s.plc_is_viewed, s.plc_place_id, s.plc_type_id, s.plc_appointment_id, s.plc_planned_date, s.is_autopsy, s.acti on_allowed_result_id Filter: (s._clinic_id = 89) Rows Removed by Filter: 559 Buffers: shared hit=1208 -> Index Scan using mc_case_pk on public.mc_case c (cost=0.56..2.34 rows=1 width=4) (actual time=0.004..0.006 rows=1 loops=16) Output: c.id Index Cond: (c.id = s.case_id) Filter: ((c.closing_step_id IS NULL) AND (c.closing_step_id IS NULL)) Buffers: shared hit=106 Planning time: 1.049 ms Execution time: 4.045 ms (18 rows) Time: 6.656 ms