explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 484d : Optimization for: Optimization for: Optimization for: plan #XHKo; plan #a8Uq; plan #DIcf

Settings

Optimization path:

# exclusive inclusive rows x rows loops node
1. 0.066 0.176 ↓ 1.2 40 1

Bitmap Heap Scan on multi.lesson (cost=56.13..95.38 rows=33 width=255) (actual time=0.121..0.176 rows=40 loops=1)

  • Output: id, lesson_id, curriculum_id, live_teacher_id, live_teacher_object_id, num, title, start_time, end_time, create_time, updated_at, charge_type, broadcast_status, liveroom_id, stream_end_time, video_views_in_history, virtual_view_num, playback_uri, studio_id, curriculum_object_id, watching_people_num, is_free_playback, uploading_status, video_id, playback_time_status, video_clip_record, is_pushed, is_upload_student_handouts, student_handouts_storage_id, student_handouts_url, student_handouts_upload_time, lesson_type
  • Recheck Cond: (((lesson.curriculum_id = 5,865) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 5,563) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 5,853) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 5,566) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 6,013) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 5,941) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 2,665) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 6,201) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 6,205) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 6,259) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 6,200) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 6,202) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 2,460) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 5,469) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 6,085) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 5,504) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 5,866) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 6,014) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 2,666) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 6,102) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 6,211) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 6,203) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 6,204) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 6,178) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 6,179) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 4,784) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 5,360) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 5,359) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 5,363) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 5,944) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 5,519) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 6,245) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 5,926) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 6,086) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 2,138) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 5,966) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 2,093) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 5,897) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 6,134) AND (lesson.num = 1)) OR ((lesson.curriculum_id = 5,921) AND (lesson.num = 1)))
  • Heap Blocks: exact=28
  • Buffers: shared hit=108
2. 0.003 0.110 ↓ 0.0 0 1

BitmapOr (cost=56.13..56.13 rows=33 width=0) (actual time=0.110..0.110 rows=0 loops=1)

  • Buffers: shared hit=80
3. 0.013 0.013 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.013..0.013 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 5,865) AND (lesson.num = 1))
  • Buffers: shared hit=2
4. 0.005 0.005 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.005..0.005 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 5,563) AND (lesson.num = 1))
  • Buffers: shared hit=2
5. 0.002 0.002 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.002..0.002 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 5,853) AND (lesson.num = 1))
  • Buffers: shared hit=2
6. 0.002 0.002 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.002..0.002 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 5,566) AND (lesson.num = 1))
  • Buffers: shared hit=2
7. 0.003 0.003 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 6,013) AND (lesson.num = 1))
  • Buffers: shared hit=2
8. 0.003 0.003 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 5,941) AND (lesson.num = 1))
  • Buffers: shared hit=2
9. 0.003 0.003 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 2,665) AND (lesson.num = 1))
  • Buffers: shared hit=2
10. 0.003 0.003 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 6,201) AND (lesson.num = 1))
  • Buffers: shared hit=2
11. 0.001 0.001 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.001..0.001 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 6,205) AND (lesson.num = 1))
  • Buffers: shared hit=2
12. 0.003 0.003 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 6,259) AND (lesson.num = 1))
  • Buffers: shared hit=2
13. 0.002 0.002 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.002..0.002 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 6,200) AND (lesson.num = 1))
  • Buffers: shared hit=2
14. 0.002 0.002 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.001..0.002 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 6,202) AND (lesson.num = 1))
  • Buffers: shared hit=2
15. 0.003 0.003 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 2,460) AND (lesson.num = 1))
  • Buffers: shared hit=2
16. 0.003 0.003 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 5,469) AND (lesson.num = 1))
  • Buffers: shared hit=2
17. 0.003 0.003 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 6,085) AND (lesson.num = 1))
  • Buffers: shared hit=2
18. 0.003 0.003 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 5,504) AND (lesson.num = 1))
  • Buffers: shared hit=2
19. 0.002 0.002 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.002..0.002 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 5,866) AND (lesson.num = 1))
  • Buffers: shared hit=2
20. 0.001 0.001 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.001..0.001 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 6,014) AND (lesson.num = 1))
  • Buffers: shared hit=2
21. 0.002 0.002 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.002..0.002 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 2,666) AND (lesson.num = 1))
  • Buffers: shared hit=2
22. 0.002 0.002 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.002..0.002 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 6,102) AND (lesson.num = 1))
  • Buffers: shared hit=2
23. 0.003 0.003 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 6,211) AND (lesson.num = 1))
  • Buffers: shared hit=2
24. 0.002 0.002 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.001..0.002 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 6,203) AND (lesson.num = 1))
  • Buffers: shared hit=2
25. 0.001 0.001 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.001..0.001 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 6,204) AND (lesson.num = 1))
  • Buffers: shared hit=2
26. 0.002 0.002 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.002..0.002 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 6,178) AND (lesson.num = 1))
  • Buffers: shared hit=2
27. 0.001 0.001 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.001..0.001 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 6,179) AND (lesson.num = 1))
  • Buffers: shared hit=2
28. 0.003 0.003 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 4,784) AND (lesson.num = 1))
  • Buffers: shared hit=2
29. 0.003 0.003 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 5,360) AND (lesson.num = 1))
  • Buffers: shared hit=2
30. 0.001 0.001 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.001..0.001 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 5,359) AND (lesson.num = 1))
  • Buffers: shared hit=2
31. 0.002 0.002 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.001..0.002 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 5,363) AND (lesson.num = 1))
  • Buffers: shared hit=2
32. 0.002 0.002 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.002..0.002 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 5,944) AND (lesson.num = 1))
  • Buffers: shared hit=2
33. 0.003 0.003 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 5,519) AND (lesson.num = 1))
  • Buffers: shared hit=2
34. 0.002 0.002 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.002..0.002 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 6,245) AND (lesson.num = 1))
  • Buffers: shared hit=2
35. 0.002 0.002 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.002..0.002 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 5,926) AND (lesson.num = 1))
  • Buffers: shared hit=2
36. 0.002 0.002 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.002..0.002 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 6,086) AND (lesson.num = 1))
  • Buffers: shared hit=2
37. 0.004 0.004 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.004..0.004 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 2,138) AND (lesson.num = 1))
  • Buffers: shared hit=2
38. 0.003 0.003 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 5,966) AND (lesson.num = 1))
  • Buffers: shared hit=2
39. 0.003 0.003 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 2,093) AND (lesson.num = 1))
  • Buffers: shared hit=2
40. 0.003 0.003 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.002..0.003 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 5,897) AND (lesson.num = 1))
  • Buffers: shared hit=2
41. 0.002 0.002 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.002..0.002 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 6,134) AND (lesson.num = 1))
  • Buffers: shared hit=2
42. 0.002 0.002 ↑ 1.0 1 1

Bitmap Index Scan on lesson_curriculum_id_num_idx (cost=0.00..1.40 rows=1 width=0) (actual time=0.002..0.002 rows=1 loops=1)

  • Index Cond: ((lesson.curriculum_id = 5,921) AND (lesson.num = 1))
  • Buffers: shared hit=2
Planning time : 1.426 ms
Execution time : 0.317 ms