explain.depesz.com

PostgreSQL's explain analyze made readable

Result: kGrr

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 105.685 ↑ 25.0 8 1

Finalize GroupAggregate (cost=89,817.55..89,998.89 rows=200 width=87) (actual time=105.659..105.685 rows=8 loops=1)

  • Group Key: mt_trades_s1_2019_06.symbol
2. 33.277 113.906 ↑ 46.2 26 1

Gather Merge (cost=89,817.55..89,963.89 rows=1,200 width=87) (actual time=105.650..113.906 rows=26 loops=1)

  • Workers Planned: 6
  • Workers Launched: 6
3. 0.055 80.629 ↑ 50.0 4 7 / 7

Sort (cost=88,817.45..88,817.95 rows=200 width=87) (actual time=80.628..80.629 rows=4 loops=7)

  • Sort Key: mt_trades_s1_2019_06.symbol
  • Sort Method: quicksort Memory: 26kB
  • Worker 0: Sort Method: quicksort Memory: 25kB
  • Worker 1: Sort Method: quicksort Memory: 25kB
  • Worker 2: Sort Method: quicksort Memory: 25kB
  • Worker 3: Sort Method: quicksort Memory: 25kB
  • Worker 4: Sort Method: quicksort Memory: 25kB
  • Worker 5: Sort Method: quicksort Memory: 25kB
4. 46.336 80.574 ↑ 50.0 4 7 / 7

Partial HashAggregate (cost=88,807.81..88,809.81 rows=200 width=87) (actual time=80.571..80.574 rows=4 loops=7)

  • Group Key: mt_trades_s1_2019_06.symbol
5. 1.702 34.238 ↑ 1.1 17,789 7 / 7

Parallel Append (cost=119.16..86,403.67 rows=18,856 width=20) (actual time=2.916..34.238 rows=17,789 loops=7)

  • Subplans Removed: 13
6. 5.809 6.415 ↑ 2.1 3,251 7 / 7

Parallel Bitmap Heap Scan on mt_trades_s1_2019_06 (cost=277.10..12,114.08 rows=6,955 width=20) (actual time=0.733..6.415 rows=3,251 loops=7)

  • Recheck Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
  • Rows Removed by Filter: 18
  • Heap Blocks: exact=101
7. 0.606 0.606 ↑ 1.0 22,884 1 / 7

Bitmap Index Scan on mt_trades_s1_2019_06_login_idx (cost=0.00..271.71 rows=23,558 width=0) (actual time=4.240..4.240 rows=22,884 loops=1)

  • Index Cond: (login = 525608)
8. 4.312 4.693 ↓ 1.7 8,644 2 / 7

Parallel Bitmap Heap Scan on mt_trades_s1_2019_05 (cost=207.85..11,759.58 rows=5,232 width=20) (actual time=1.583..16.426 rows=8,644 loops=2)

  • Recheck Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
  • Rows Removed by Filter: 44
9. 0.381 0.381 ↑ 1.0 17,376 1 / 7

Bitmap Index Scan on mt_trades_s1_2019_05_login_idx (cost=0.00..203.79 rows=17,729 width=0) (actual time=2.668..2.668 rows=17,376 loops=1)

  • Index Cond: (login = 525608)
10. 4.362 4.713 ↓ 1.1 5,144 3 / 7

Parallel Bitmap Heap Scan on mt_trades_s1_2019_04 (cost=187.13..11,458.05 rows=4,621 width=20) (actual time=0.999..10.996 rows=5,144 loops=3)

  • Recheck Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
  • Rows Removed by Filter: 47
  • Heap Blocks: exact=1
11. 0.350 0.350 ↑ 1.0 15,572 1 / 7

Bitmap Index Scan on mt_trades_s1_2019_04_login_idx (cost=0.00..183.55 rows=15,910 width=0) (actual time=2.453..2.453 rows=15,572 loops=1)

  • Index Cond: (login = 525608)
12. 4.665 5.132 ↓ 1.2 5,468 3 / 7

Parallel Bitmap Heap Scan on mt_trades_s1_2019_03 (cost=182.86..12,442.03 rows=4,478 width=20) (actual time=1.325..11.975 rows=5,468 loops=3)

  • Recheck Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
  • Rows Removed by Filter: 20
  • Heap Blocks: exact=183
13. 0.467 0.467 ↓ 1.1 16,465 1 / 7

Bitmap Index Scan on mt_trades_s1_2019_03_login_idx (cost=0.00..179.39 rows=15,649 width=0) (actual time=3.268..3.268 rows=16,465 loops=1)

  • Index Cond: (login = 525608)
14. 3.516 3.873 ↓ 2.7 14,154 1 / 7

Parallel Bitmap Heap Scan on mt_trades_s1_2019_07 (cost=165.90..9,226.69 rows=5,332 width=20) (actual time=2.872..27.111 rows=14,154 loops=1)

  • Recheck Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
  • Rows Removed by Filter: 69
15. 0.357 0.357 ↓ 1.0 14,223 1 / 7

Bitmap Index Scan on mt_trades_s1_2019_07_login_idx (cost=0.00..162.70 rows=14,157 width=0) (actual time=2.500..2.500 rows=14,223 loops=1)

  • Index Cond: (login = 525608)
16. 2.293 2.573 ↓ 2.6 9,859 1 / 7

Parallel Bitmap Heap Scan on mt_trades_s1_2019_08 (cost=119.16..7,244.14 rows=3,832 width=20) (actual time=2.181..18.010 rows=9,859 loops=1)

  • Recheck Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
  • Rows Removed by Filter: 62
17. 0.280 0.280 ↑ 1.0 9,921 1 / 7

Bitmap Index Scan on mt_trades_s1_2019_08_login_idx (cost=0.00..116.86 rows=10,099 width=0) (actual time=1.958..1.958 rows=9,921 loops=1)

  • Index Cond: (login = 525608)
18. 1.799 1.960 ↓ 1.4 4,533 2 / 7

Parallel Bitmap Heap Scan on mt_trades_s1_2019_12 (cost=105.37..6,180.01 rows=3,346 width=20) (actual time=0.686..6.860 rows=4,533 loops=2)

  • Recheck Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
  • Rows Removed by Filter: 14
  • Heap Blocks: exact=494
19. 0.161 0.161 ↓ 1.0 9,093 1 / 7

Bitmap Index Scan on mt_trades_s1_2019_12_login_idx (cost=0.00..103.36 rows=8,885 width=0) (actual time=1.125..1.125 rows=9,093 loops=1)

  • Index Cond: (login = 525608)
20. 0.711 0.774 ↓ 2.6 5,995 1 / 7

Parallel Bitmap Heap Scan on mt_trades_s1_2020_01 (cost=98.16..4,257.11 rows=2,295 width=20) (actual time=0.527..5.415 rows=5,995 loops=1)

  • Recheck Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
  • Rows Removed by Filter: 32
  • Heap Blocks: exact=395
21. 0.062 0.062 ↑ 1.0 6,027 1 / 7

Bitmap Index Scan on mt_trades_s1_2020_01_login_idx (cost=0.00..96.79 rows=6,102 width=0) (actual time=0.436..0.436 rows=6,027 loops=1)

  • Index Cond: (login = 525608)
22. 0.982 1.068 ↓ 3.1 6,440 1 / 7

Parallel Bitmap Heap Scan on mt_trades_s1_2019_02 (cost=80.28..6,386.60 rows=2,077 width=20) (actual time=0.831..7.476 rows=6,440 loops=1)

  • Recheck Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
  • Rows Removed by Filter: 34
  • Heap Blocks: exact=881
23. 0.086 0.086 ↑ 1.1 6,474 1 / 7

Bitmap Index Scan on mt_trades_s1_2019_02_login_idx (cost=0.00..79.04 rows=6,815 width=0) (actual time=0.600..0.600 rows=6,474 loops=1)

  • Index Cond: (login = 525608)
24. 0.879 0.963 ↓ 2.7 5,460 1 / 7

Parallel Bitmap Heap Scan on mt_trades_s1_2019_11 (cost=64.43..4,072.97 rows=2,043 width=20) (actual time=0.731..6.743 rows=5,460 loops=1)

  • Recheck Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
  • Rows Removed by Filter: 30
  • Heap Blocks: exact=499
25. 0.085 0.085 ↓ 1.0 5,490 1 / 7

Bitmap Index Scan on mt_trades_s1_2019_11_login_idx (cost=0.00..63.20 rows=5,438 width=0) (actual time=0.593..0.593 rows=5,490 loops=1)

  • Index Cond: (login = 525608)
26. 0.289 0.314 ↓ 1.8 1,671 1 / 7

Parallel Bitmap Heap Scan on mt_trades_s1_2020_02 (cost=20.04..877.82 rows=908 width=21) (actual time=0.239..2.198 rows=1,671 loops=1)

  • Recheck Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
  • Rows Removed by Filter: 7
  • Heap Blocks: exact=157
27. 0.025 0.025 ↓ 1.1 1,678 1 / 7

Bitmap Index Scan on mt_trades_s1_2020_02_login_idx (cost=0.00..19.66 rows=1,556 width=0) (actual time=0.174..0.174 rows=1,678 loops=1)

  • Index Cond: (login = 525608)
28. 0.000 0.001 ↓ 0.0 0 1 / 7

Parallel Bitmap Heap Scan on mt_trades_s1_2019_10 (cost=2.36..122.73 rows=58 width=20) (actual time=0.010..0.010 rows=0 loops=1)

  • Recheck Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
29. 0.001 0.001 ↓ 0.0 0 1 / 7

Bitmap Index Scan on mt_trades_s1_2019_10_login_idx (cost=0.00..2.34 rows=109 width=0) (actual time=0.008..0.008 rows=0 loops=1)

  • Index Cond: (login = 525608)
30. 0.052 0.053 ↑ 52.0 1 1 / 7

Parallel Bitmap Heap Scan on mt_trades_s1_2019_09 (cost=2.28..110.51 rows=52 width=20) (actual time=0.371..0.373 rows=1 loops=1)

  • Recheck Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
  • Heap Blocks: exact=1
31. 0.001 0.001 ↑ 98.0 1 1 / 7

Bitmap Index Scan on mt_trades_s1_2019_09_login_idx (cost=0.00..2.26 rows=98 width=0) (actual time=0.009..0.009 rows=1 loops=1)

  • Index Cond: (login = 525608)
32. 0.000 0.000 ↓ 0.0 0 1 / 7

Parallel Index Scan using mt_trades_s1_2020_03_login_idx on mt_trades_s1_2020_03 (cost=0.14..2.37 rows=1 width=58) (actual time=0.001..0.001 rows=0 loops=1)

  • Index Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
33. 0.000 0.000 ↓ 0.0 0 1 / 7

Parallel Index Scan using mt_trades_s1_2020_04_login_idx on mt_trades_s1_2020_04 (cost=0.14..2.37 rows=1 width=58) (actual time=0.002..0.002 rows=0 loops=1)

  • Index Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
34. 0.000 0.000 ↓ 0.0 0 1 / 7

Parallel Index Scan using mt_trades_s1_2020_05_login_idx on mt_trades_s1_2020_05 (cost=0.14..2.37 rows=1 width=58) (actual time=0.001..0.002 rows=0 loops=1)

  • Index Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
35. 0.000 0.000 ↓ 0.0 0 1 / 7

Parallel Index Scan using mt_trades_s1_2020_06_login_idx on mt_trades_s1_2020_06 (cost=0.14..2.37 rows=1 width=58) (actual time=0.001..0.001 rows=0 loops=1)

  • Index Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
36. 0.000 0.000 ↓ 0.0 0 1 / 7

Parallel Index Scan using mt_trades_s1_2020_07_login_idx on mt_trades_s1_2020_07 (cost=0.14..2.37 rows=1 width=58) (actual time=0.001..0.001 rows=0 loops=1)

  • Index Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
37. 0.000 0.000 ↓ 0.0 0 1 / 7

Parallel Index Scan using mt_trades_s1_2020_08_login_idx on mt_trades_s1_2020_08 (cost=0.14..2.37 rows=1 width=58) (actual time=0.001..0.002 rows=0 loops=1)

  • Index Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
38. 0.000 0.000 ↓ 0.0 0 1 / 7

Parallel Index Scan using mt_trades_s1_2020_09_login_idx on mt_trades_s1_2020_09 (cost=0.14..2.37 rows=1 width=58) (actual time=0.001..0.001 rows=0 loops=1)

  • Index Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
39. 0.000 0.000 ↓ 0.0 0 1 / 7

Parallel Index Scan using mt_trades_s1_2020_10_login_idx on mt_trades_s1_2020_10 (cost=0.14..2.37 rows=1 width=58) (actual time=0.001..0.002 rows=0 loops=1)

  • Index Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
40. 0.000 0.000 ↓ 0.0 0 1 / 7

Parallel Index Scan using mt_trades_s1_2020_11_login_idx on mt_trades_s1_2020_11 (cost=0.14..2.37 rows=1 width=58) (actual time=0.002..0.002 rows=0 loops=1)

  • Index Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
41. 0.000 0.000 ↓ 0.0 0 1 / 7

Parallel Index Scan using mt_trades_s1_2020_12_login_idx on mt_trades_s1_2020_12 (cost=0.14..2.37 rows=1 width=58) (actual time=0.002..0.002 rows=0 loops=1)

  • Index Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
42. 0.001 0.001 ↓ 0.0 0 1 / 7

Parallel Index Scan using mt_trades_default_login_idx on mt_trades_default (cost=0.14..1.27 rows=1 width=21) (actual time=0.008..0.008 rows=0 loops=1)

  • Index Cond: (login = 525608)
  • Filter: ((profit <> '0'::numeric) AND (server_id = 1) AND (close_time > (now() - '1 year'::interval)))
Planning time : 5.550 ms
Execution time : 114.340 ms