explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 1kuI

Settings
# exclusive inclusive rows x rows loops node
1. 0.003 7.944 ↑ 1.0 30 1

Limit (cost=210.62..210.70 rows=30 width=192) (actual time=7.927..7.944 rows=30 loops=1)

  • Output: e."productInfo", NULL::bigint, e."fldUpdateTime", NULL::character varying, NULL::character varying, NULL::character varying, NULL::character varying, NULL::bigint, NULL::bigint
  • Buffers: shared hit=121 read=1
2. 0.468 7.941 ↑ 44.1 30 1

Sort (cost=210.62..213.93 rows=1,322 width=192) (actual time=7.927..7.941 rows=30 loops=1)

  • Output: e."productInfo", NULL::bigint, e."fldUpdateTime", NULL::character varying, NULL::character varying, NULL::character varying, NULL::character varying, NULL::bigint, NULL::bigint
  • Sort Key: e."fldUpdateTime" DESC
  • Sort Method: top-N heapsort Memory: 137kB
  • Buffers: shared hit=121 read=1
3. 0.068 7.473 ↑ 2.7 493 1

Subquery Scan on e (cost=145.14..171.58 rows=1,322 width=192) (actual time=7.244..7.473 rows=493 loops=1)

  • Output: e."productInfo", NULL::bigint, e."fldUpdateTime", NULL::character varying, NULL::character varying, NULL::character varying, NULL::character varying, NULL::bigint, NULL::bigint
  • Buffers: shared hit=121 read=1
4. 2.716 7.405 ↑ 2.7 493 1

HashAggregate (cost=145.14..158.36 rows=1,322 width=82) (actual time=7.242..7.405 rows=493 loops=1)

  • Output: ((p.json_data)::text), p."fldUpdateTime", p."fldSerialNumber", p."fldProductName", p.scan_time
  • Group Key: ((p.json_data)::text), p."fldUpdateTime", p."fldSerialNumber", p."fldProductName", p.scan_time
  • Buffers: shared hit=121 read=1
5. 0.869 4.689 ↑ 2.8 493 1

Sort (cost=110.14..113.64 rows=1,400 width=266) (actual time=4.332..4.689 rows=493 loops=1)

  • Output: ((p.json_data)::text), p."fldUpdateTime", p."fldSerialNumber", p."fldProductName", p.scan_time, NULL::text, p."fldUpdateTime", NULL::character varying, NULL::character varying, NULL::character varying, NULL::character varying, NULL::bigint, NULL::bigint
  • Sort Key: p."fldUpdateTime" DESC
  • Sort Method: quicksort Memory: 1860kB
  • Buffers: shared hit=121 read=1
6. 2.359 3.820 ↑ 2.8 493 1

Nested Loop (cost=0.29..36.98 rows=1,400 width=266) (actual time=0.051..3.820 rows=493 loops=1)

  • Output: (p.json_data)::text, p."fldUpdateTime", p."fldSerialNumber", p."fldProductName", p.scan_time, NULL::text, p."fldUpdateTime", NULL::character varying, NULL::character varying, NULL::character varying, NULL::character varying, NULL::bigint, NULL::bigint
  • Buffers: shared hit=121 read=1
7. 0.475 0.475 ↓ 35.2 493 1

Index Scan using ix_mvw_product_info_scan_time on public.mvw_product_info p (cost=0.28..1.97 rows=14 width=1,322) (actual time=0.037..0.475 rows=493 loops=1)

  • Output: p."fldProductId", p.cid, p."brandId", p."fldGroupId", p."fldProductName", p."fldSerialNumber", p."fldStoreShelvesName", p."fldProductStatus", p."shareBrandKeys", p."fldUpdateTime", p."sizeSetId", p."subGroup", p."sizeSetCustomizeId", p.scan_time, p.fld_scan_status, p.pipeline_status, p."productTags", p."mainId", p."subId", p.json_data
  • Index Cond: ((p.scan_time >= '1554825600000'::bigint) AND (p.scan_time <= '1562687999999'::bigint))
  • Filter: (p."fldProductStatus" = ANY ('{2,1}'::smallint[]))
  • Buffers: shared hit=121 read=1
8. 0.986 0.986 ↑ 100.0 1 493

Function Scan on pg_catalog.unnest t (cost=0.01..1.00 rows=100 width=0) (actual time=0.002..0.002 rows=1 loops=493)

  • Output: t.tags
  • Function Call: unnest(COALESCE(NULLIF(p."productTags", '{}'::text[]), '{""}'::text[]))
Planning time : 1.967 ms
Execution time : 8.020 ms