This is the schema:
CREATE TABLE public.quotes (
uuid character varying(45) NOT NULL,
symbol_id smallint NOT NULL,
symbol character varying(32) NOT NULL,
p_open real NOT NULL,
p_high real NOT NULL,
p_low real NOT NULL,
p_close real NOT NULL,
amount numeric(20,2) NOT NULL,
volume numeric(20,2) NOT NULL,
pubdate timestamp with time zone NOT NULL,
chunk_id smallint NOT NULL
)
PARTITION BY HASH (symbol_id);
ALTER TABLE ONLY public.quotes
ADD CONSTRAINT quotes_pkey PRIMARY KEY (symbol_id, uuid);
CREATE INDEX idx_201911 ON ONLY public.quotes USING btree (symbol, chunk_id) WHERE (chunk_id >= 2595);
====================
This is explain:
EXPLAIN (ANALYZE, BUFFERS) select p_open,p_close,p_high,p_low from quotes where symbol='MSFT' and chunk_id >= 2595;
QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------
Append (cost=0.42..22961.77 rows=12203 width=16) (actual time=1091.462..19600.454 rows=13286 loops=1)
Buffers: shared hit=9 read=10065
-> Index Scan using quotes_0_symbol_chunk_id_idx1 on quotes_0 (cost=0.42..8.44 rows=1 width=16) (act
ual time=0.295..0.295 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared hit=2 read=1
-> Index Scan using quotes_1_symbol_chunk_id_idx1 on quotes_1 (cost=0.42..8.44 rows=1 width=16) (act
ual time=0.137..0.137 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared hit=2 read=1
-> Index Scan using quotes_2_symbol_chunk_id_idx1 on quotes_2 (cost=0.42..8.44 rows=1 width=16) (act
ual time=0.117..0.117 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared hit=2 read=1
-> Index Scan using quotes_3_symbol_chunk_id_idx1 on quotes_3 (cost=0.42..8.44 rows=1 width=16) (act
ual time=0.072..0.072 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared hit=3
-> Index Scan using quotes_4_symbol_chunk_id_idx1 on quotes_4 (cost=0.42..8.43 rows=1 width=16) (act
ual time=48.475..48.475 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_5_symbol_chunk_id_idx1 on quotes_5 (cost=0.42..8.44 rows=1 width=16) (act
ual time=45.995..45.995 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_6_symbol_chunk_id_idx1 on quotes_6 (cost=0.42..8.44 rows=1 width=16) (act
ual time=23.474..23.474 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_7_symbol_chunk_id_idx1 on quotes_7 (cost=0.42..8.44 rows=1 width=16) (act
ual time=67.030..67.030 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_8_symbol_chunk_id_idx1 on quotes_8 (cost=0.42..8.44 rows=1 width=16) (act
ual time=16.230..16.230 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_9_symbol_chunk_id_idx1 on quotes_9 (cost=0.42..8.44 rows=1 width=16) (act
ual time=24.758..24.758 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_10_symbol_chunk_id_idx1 on quotes_10 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=89.762..89.762 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_11_symbol_chunk_id_idx1 on quotes_11 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=54.779..54.779 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_12_symbol_chunk_id_idx1 on quotes_12 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=19.391..19.391 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=4
-> Index Scan using quotes_13_symbol_chunk_id_idx1 on quotes_13 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=98.137..98.137 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_14_symbol_chunk_id_idx1 on quotes_14 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=33.148..33.148 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_15_symbol_chunk_id_idx1 on quotes_15 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=12.973..12.973 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_16_symbol_chunk_id_idx1 on quotes_16 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=20.718..20.718 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_17_symbol_chunk_id_idx1 on quotes_17 (cost=0.42..8.43 rows=1 width=16) (a
ctual time=59.091..59.091 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_18_symbol_chunk_id_idx1 on quotes_18 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=23.220..23.220 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_19_symbol_chunk_id_idx1 on quotes_19 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=8.963..8.963 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_20_symbol_chunk_id_idx1 on quotes_20 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=7.969..7.969 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_21_symbol_chunk_id_idx1 on quotes_21 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=60.775..60.775 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_22_symbol_chunk_id_idx1 on quotes_22 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=42.488..42.488 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_23_symbol_chunk_id_idx1 on quotes_23 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=46.778..46.778 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_24_symbol_chunk_id_idx1 on quotes_24 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=19.818..19.818 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_25_symbol_chunk_id_idx1 on quotes_25 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=18.332..18.332 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_26_symbol_chunk_id_idx1 on quotes_26 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=25.530..25.530 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_27_symbol_chunk_id_idx1 on quotes_27 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=17.795..17.795 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_28_symbol_chunk_id_idx1 on quotes_28 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=34.632..34.632 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_29_symbol_chunk_id_idx1 on quotes_29 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=27.877..27.877 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_30_symbol_chunk_id_idx1 on quotes_30 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=61.241..61.241 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_31_symbol_chunk_id_idx1 on quotes_31 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=19.481..19.481 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_32_symbol_chunk_id_idx1 on quotes_32 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=11.156..11.156 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_33_symbol_chunk_id_idx1 on quotes_33 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=12.092..12.092 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Bitmap Heap Scan on quotes_34 (cost=227.44..21221.83 rows=12004 width=16) (actual time=38.646..6055.598 rows
=13286 loops=1)
Recheck Cond: (((symbol)::text = 'MSFT'::text) AND (chunk_id >= 2595))
Heap Blocks: exact=9422
Buffers: shared read=9476
-> Bitmap Index Scan on quotes_34_symbol_chunk_id_idx1 (cost=0.00..224.44 rows=12004 width=0) (actual tim
e=32.810..32.810 rows=13286 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=54
-> Index Scan using quotes_35_symbol_chunk_id_idx1 on quotes_35 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=13.357..13.357 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_36_symbol_chunk_id_idx1 on quotes_36 (cost=0.42..8.43 rows=1 width=16) (a
ctual time=11.554..11.554 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_37_symbol_chunk_id_idx1 on quotes_37 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=14.527..14.527 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_38_symbol_chunk_id_idx1 on quotes_38 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=21.491..21.491 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_39_symbol_chunk_id_idx1 on quotes_39 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=38.924..38.924 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_40_symbol_chunk_id_idx1 on quotes_40 (cost=0.42..8.43 rows=1 width=16) (a
ctual time=123.119..123.119 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_41_symbol_chunk_id_idx1 on quotes_41 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=54.460..54.460 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_42_symbol_chunk_id_idx1 on quotes_42 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=142.491..142.491 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_43_symbol_chunk_id_idx1 on quotes_43 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=20.998..20.999 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_44_symbol_chunk_id_idx1 on quotes_44 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=315.145..315.145 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_45_symbol_chunk_id_idx1 on quotes_45 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=231.026..231.026 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_46_symbol_chunk_id_idx1 on quotes_46 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=34.457..34.457 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_47_symbol_chunk_id_idx1 on quotes_47 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=31.663..31.663 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_48_symbol_chunk_id_idx1 on quotes_48 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=19.256..19.256 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_49_symbol_chunk_id_idx1 on quotes_49 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=126.794..126.794 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_50_symbol_chunk_id_idx1 on quotes_50 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=25.642..25.642 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_51_symbol_chunk_id_idx1 on quotes_51 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=24.095..24.095 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_52_symbol_chunk_id_idx1 on quotes_52 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=24.960..24.960 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_53_symbol_chunk_id_idx1 on quotes_53 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=140.896..140.896 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_54_symbol_chunk_id_idx1 on quotes_54 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=23.073..23.073 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_55_symbol_chunk_id_idx1 on quotes_55 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=29.658..29.658 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_56_symbol_chunk_id_idx1 on quotes_56 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=19.207..19.207 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_57_symbol_chunk_id_idx1 on quotes_57 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=13.298..13.298 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_58_symbol_chunk_id_idx1 on quotes_58 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=18.658..18.658 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_59_symbol_chunk_id_idx1 on quotes_59 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=17.757..17.757 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_60_symbol_chunk_id_idx1 on quotes_60 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=175.472..175.472 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_61_symbol_chunk_id_idx1 on quotes_61 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=66.575..66.575 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_62_symbol_chunk_id_idx1 on quotes_62 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=32.085..32.085 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_63_symbol_chunk_id_idx1 on quotes_63 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=59.620..59.620 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_64_symbol_chunk_id_idx1 on quotes_64 (cost=0.42..8.43 rows=1 width=16) (a
ctual time=13.146..13.146 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_65_symbol_chunk_id_idx1 on quotes_65 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=493.484..493.484 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_66_symbol_chunk_id_idx1 on quotes_66 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=183.810..183.810 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_67_symbol_chunk_id_idx1 on quotes_67 (cost=0.42..8.43 rows=1 width=16) (a
ctual time=17.859..17.859 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_68_symbol_chunk_id_idx1 on quotes_68 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=14.211..14.211 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_69_symbol_chunk_id_idx1 on quotes_69 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=25.271..25.271 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_70_symbol_chunk_id_idx1 on quotes_70 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=165.171..165.171 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_71_symbol_chunk_id_idx1 on quotes_71 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=28.787..28.787 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_72_symbol_chunk_id_idx1 on quotes_72 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=26.529..26.529 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_73_symbol_chunk_id_idx1 on quotes_73 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=28.887..28.887 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_74_symbol_chunk_id_idx1 on quotes_74 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=52.311..52.311 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_75_symbol_chunk_id_idx1 on quotes_75 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=26.548..26.548 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_76_symbol_chunk_id_idx1 on quotes_76 (cost=0.42..8.43 rows=1 width=16) (a
ctual time=7.955..7.955 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_77_symbol_chunk_id_idx1 on quotes_77 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=23.569..23.569 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_78_symbol_chunk_id_idx1 on quotes_78 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=25.204..25.204 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_79_symbol_chunk_id_idx1 on quotes_79 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=18.848..18.848 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_80_symbol_chunk_id_idx1 on quotes_80 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=39.701..39.701 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_81_symbol_chunk_id_idx1 on quotes_81 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=32.622..32.622 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_82_symbol_chunk_id_idx1 on quotes_82 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=29.548..29.548 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_83_symbol_chunk_id_idx1 on quotes_83 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=27.357..27.357 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_84_symbol_chunk_id_idx1 on quotes_84 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=62.969..62.969 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_85_symbol_chunk_id_idx1 on quotes_85 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=22.842..22.842 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_86_symbol_chunk_id_idx1 on quotes_86 (cost=0.42..8.43 rows=1 width=16) (a
ctual time=58.698..58.698 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_87_symbol_chunk_id_idx1 on quotes_87 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=25.201..25.201 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_88_symbol_chunk_id_idx1 on quotes_88 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=14.345..14.345 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_89_symbol_chunk_id_idx1 on quotes_89 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=14.012..14.012 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_90_symbol_chunk_id_idx1 on quotes_90 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=19.217..19.217 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_91_symbol_chunk_id_idx1 on quotes_91 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=35.578..35.578 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_92_symbol_chunk_id_idx1 on quotes_92 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=42.653..42.653 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_93_symbol_chunk_id_idx1 on quotes_93 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=30.164..30.165 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_94_symbol_chunk_id_idx1 on quotes_94 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=64.670..64.670 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_95_symbol_chunk_id_idx1 on quotes_95 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=82.933..82.933 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_96_symbol_chunk_id_idx1 on quotes_96 (cost=0.43..8.44 rows=1 width=16) (a
ctual time=13.373..13.373 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_97_symbol_chunk_id_idx1 on quotes_97 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=73.041..73.041 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_98_symbol_chunk_id_idx1 on quotes_98 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=24.787..24.787 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_99_symbol_chunk_id_idx1 on quotes_99 (cost=0.42..8.44 rows=1 width=16) (a
ctual time=22.330..22.330 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_100_symbol_chunk_id_idx1 on quotes_100 (cost=0.42..8.44 rows=1 width=16)
(actual time=15.073..15.073 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_101_symbol_chunk_id_idx1 on quotes_101 (cost=0.42..8.42 rows=1 width=16)
(actual time=43.450..43.450 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_102_symbol_chunk_id_idx1 on quotes_102 (cost=0.42..8.44 rows=1 width=16)
(actual time=14.937..14.937 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_103_symbol_chunk_id_idx1 on quotes_103 (cost=0.42..8.44 rows=1 width=16)
(actual time=46.738..46.738 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_104_symbol_chunk_id_idx1 on quotes_104 (cost=0.42..8.44 rows=1 width=16)
(actual time=20.980..20.980 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_105_symbol_chunk_id_idx1 on quotes_105 (cost=0.42..8.44 rows=1 width=16)
(actual time=39.503..39.503 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_106_symbol_chunk_id_idx1 on quotes_106 (cost=0.42..8.44 rows=1 width=16)
(actual time=19.778..19.779 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_107_symbol_chunk_id_idx1 on quotes_107 (cost=0.42..8.44 rows=1 width=16)
(actual time=14.042..14.042 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_108_symbol_chunk_id_idx1 on quotes_108 (cost=0.43..8.44 rows=1 width=16)
(actual time=14.986..14.986 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_109_symbol_chunk_id_idx1 on quotes_109 (cost=0.42..8.43 rows=1 width=16)
(actual time=27.951..27.951 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_110_symbol_chunk_id_idx1 on quotes_110 (cost=0.42..8.44 rows=1 width=16)
(actual time=30.855..30.855 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_111_symbol_chunk_id_idx1 on quotes_111 (cost=0.42..8.44 rows=1 width=16)
(actual time=25.702..25.702 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_112_symbol_chunk_id_idx1 on quotes_112 (cost=0.42..8.44 rows=1 width=16)
(actual time=25.363..25.363 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_113_symbol_chunk_id_idx1 on quotes_113 (cost=0.42..8.44 rows=1 width=16)
(actual time=301.515..301.515 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_114_symbol_chunk_id_idx1 on quotes_114 (cost=0.42..8.44 rows=1 width=16)
(actual time=275.201..275.201 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_115_symbol_chunk_id_idx1 on quotes_115 (cost=0.42..8.44 rows=1 width=16)
(actual time=39.636..39.636 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_116_symbol_chunk_id_idx1 on quotes_116 (cost=0.42..8.44 rows=1 width=16)
(actual time=13.036..13.036 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_117_symbol_chunk_id_idx1 on quotes_117 (cost=0.42..8.44 rows=1 width=16)
(actual time=17.091..17.091 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_118_symbol_chunk_id_idx1 on quotes_118 (cost=0.42..8.44 rows=1 width=16)
(actual time=100.450..100.450 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_119_symbol_chunk_id_idx1 on quotes_119 (cost=0.42..8.44 rows=1 width=16)
(actual time=90.931..90.931 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_120_symbol_chunk_id_idx1 on quotes_120 (cost=0.42..8.43 rows=1 width=16)
(actual time=30.150..30.150 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_121_symbol_chunk_id_idx1 on quotes_121 (cost=0.42..8.44 rows=1 width=16)
(actual time=28.342..28.342 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_122_symbol_chunk_id_idx1 on quotes_122 (cost=0.42..8.44 rows=1 width=16)
(actual time=11.281..11.281 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_123_symbol_chunk_id_idx1 on quotes_123 (cost=0.42..8.44 rows=1 width=16)
(actual time=27.195..27.195 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_124_symbol_chunk_id_idx1 on quotes_124 (cost=0.42..8.44 rows=1 width=16)
(actual time=17.598..17.598 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_125_symbol_chunk_id_idx1 on quotes_125 (cost=0.42..8.44 rows=1 width=16)
(actual time=13.197..13.197 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_126_symbol_chunk_id_idx1 on quotes_126 (cost=0.42..8.44 rows=1 width=16)
(actual time=29.288..29.288 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_127_symbol_chunk_id_idx1 on quotes_127 (cost=0.42..8.44 rows=1 width=16)
(actual time=12.994..12.994 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_128_symbol_chunk_id_idx1 on quotes_128 (cost=0.42..8.44 rows=1 width=16)
(actual time=16.397..16.397 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_129_symbol_chunk_id_idx1 on quotes_129 (cost=0.42..8.44 rows=1 width=16)
(actual time=20.008..20.008 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_130_symbol_chunk_id_idx1 on quotes_130 (cost=0.42..8.44 rows=1 width=16)
(actual time=17.144..17.144 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_131_symbol_chunk_id_idx1 on quotes_131 (cost=0.42..8.44 rows=1 width=16)
(actual time=19.388..19.388 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_132_symbol_chunk_id_idx1 on quotes_132 (cost=0.42..8.43 rows=1 width=16)
(actual time=11.343..11.343 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_133_symbol_chunk_id_idx1 on quotes_133 (cost=0.42..8.44 rows=1 width=16)
(actual time=15.873..15.873 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_134_symbol_chunk_id_idx1 on quotes_134 (cost=0.42..8.44 rows=1 width=16)
(actual time=13.600..13.600 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_135_symbol_chunk_id_idx1 on quotes_135 (cost=0.42..8.43 rows=1 width=16)
(actual time=132.991..132.991 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_136_symbol_chunk_id_idx1 on quotes_136 (cost=0.42..8.44 rows=1 width=16)
(actual time=5.269..5.270 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_137_symbol_chunk_id_idx1 on quotes_137 (cost=0.42..8.44 rows=1 width=16)
(actual time=24.996..24.996 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_138_symbol_chunk_id_idx1 on quotes_138 (cost=0.42..8.44 rows=1 width=16)
(actual time=143.878..143.878 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_139_symbol_chunk_id_idx1 on quotes_139 (cost=0.42..8.44 rows=1 width=16)
(actual time=286.335..286.336 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_140_symbol_chunk_id_idx1 on quotes_140 (cost=0.42..8.43 rows=1 width=16)
(actual time=48.946..48.946 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_141_symbol_chunk_id_idx1 on quotes_141 (cost=0.42..8.44 rows=1 width=16)
(actual time=26.577..26.577 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_142_symbol_chunk_id_idx1 on quotes_142 (cost=0.42..8.44 rows=1 width=16)
(actual time=82.622..82.623 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_143_symbol_chunk_id_idx1 on quotes_143 (cost=0.42..8.44 rows=1 width=16)
(actual time=9.932..9.932 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_144_symbol_chunk_id_idx1 on quotes_144 (cost=0.42..8.44 rows=1 width=16)
(actual time=22.535..22.535 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_145_symbol_chunk_id_idx1 on quotes_145 (cost=0.42..8.44 rows=1 width=16)
(actual time=13.366..13.366 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_146_symbol_chunk_id_idx1 on quotes_146 (cost=0.42..8.44 rows=1 width=16)
(actual time=14.648..14.648 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_147_symbol_chunk_id_idx1 on quotes_147 (cost=0.42..8.44 rows=1 width=16)
(actual time=19.620..19.620 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_148_symbol_chunk_id_idx1 on quotes_148 (cost=0.42..8.44 rows=1 width=16)
(actual time=12.460..12.460 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_149_symbol_chunk_id_idx1 on quotes_149 (cost=0.42..8.44 rows=1 width=16)
(actual time=81.010..81.010 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_150_symbol_chunk_id_idx1 on quotes_150 (cost=0.42..8.44 rows=1 width=16)
(actual time=52.261..52.261 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_151_symbol_chunk_id_idx1 on quotes_151 (cost=0.42..8.44 rows=1 width=16)
(actual time=140.876..140.876 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_152_symbol_chunk_id_idx1 on quotes_152 (cost=0.42..8.44 rows=1 width=16)
(actual time=9.724..9.724 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_153_symbol_chunk_id_idx1 on quotes_153 (cost=0.42..8.44 rows=1 width=16)
(actual time=111.923..111.923 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_154_symbol_chunk_id_idx1 on quotes_154 (cost=0.42..8.44 rows=1 width=16)
(actual time=206.109..206.109 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_155_symbol_chunk_id_idx1 on quotes_155 (cost=0.42..8.44 rows=1 width=16)
(actual time=393.460..393.460 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_156_symbol_chunk_id_idx1 on quotes_156 (cost=0.42..8.44 rows=1 width=16)
(actual time=231.433..231.433 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_157_symbol_chunk_id_idx1 on quotes_157 (cost=0.42..8.44 rows=1 width=16)
(actual time=246.102..246.102 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_158_symbol_chunk_id_idx1 on quotes_158 (cost=0.42..8.44 rows=1 width=16)
(actual time=316.520..316.520 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_159_symbol_chunk_id_idx1 on quotes_159 (cost=0.42..8.44 rows=1 width=16)
(actual time=194.797..194.797 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_160_symbol_chunk_id_idx1 on quotes_160 (cost=0.42..8.43 rows=1 width=16)
(actual time=60.826..60.827 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_161_symbol_chunk_id_idx1 on quotes_161 (cost=0.42..8.44 rows=1 width=16)
(actual time=207.193..207.193 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_162_symbol_chunk_id_idx1 on quotes_162 (cost=0.42..8.44 rows=1 width=16)
(actual time=596.949..596.949 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_163_symbol_chunk_id_idx1 on quotes_163 (cost=0.42..8.44 rows=1 width=16)
(actual time=370.000..370.000 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_164_symbol_chunk_id_idx1 on quotes_164 (cost=0.42..8.44 rows=1 width=16)
(actual time=447.076..447.076 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_165_symbol_chunk_id_idx1 on quotes_165 (cost=0.42..8.44 rows=1 width=16)
(actual time=187.770..187.770 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_166_symbol_chunk_id_idx1 on quotes_166 (cost=0.42..8.44 rows=1 width=16)
(actual time=123.740..123.740 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_167_symbol_chunk_id_idx1 on quotes_167 (cost=0.42..8.44 rows=1 width=16)
(actual time=20.430..20.430 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_168_symbol_chunk_id_idx1 on quotes_168 (cost=0.42..8.44 rows=1 width=16)
(actual time=16.486..16.486 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_169_symbol_chunk_id_idx1 on quotes_169 (cost=0.42..8.44 rows=1 width=16)
(actual time=34.487..34.487 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_170_symbol_chunk_id_idx1 on quotes_170 (cost=0.42..8.44 rows=1 width=16)
(actual time=16.772..16.772 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_171_symbol_chunk_id_idx1 on quotes_171 (cost=0.42..8.44 rows=1 width=16)
(actual time=21.849..21.849 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_172_symbol_chunk_id_idx1 on quotes_172 (cost=0.42..8.44 rows=1 width=16)
(actual time=17.413..17.413 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_173_symbol_chunk_id_idx1 on quotes_173 (cost=0.42..8.43 rows=1 width=16)
(actual time=15.372..15.372 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_174_symbol_chunk_id_idx1 on quotes_174 (cost=0.42..8.43 rows=1 width=16)
(actual time=24.842..24.842 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_175_symbol_chunk_id_idx1 on quotes_175 (cost=0.42..8.44 rows=1 width=16)
(actual time=61.523..61.523 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_176_symbol_chunk_id_idx1 on quotes_176 (cost=0.42..8.44 rows=1 width=16)
(actual time=17.337..17.337 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_177_symbol_chunk_id_idx1 on quotes_177 (cost=0.42..8.44 rows=1 width=16)
(actual time=33.067..33.067 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_178_symbol_chunk_id_idx1 on quotes_178 (cost=0.42..8.44 rows=1 width=16)
(actual time=28.576..28.576 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_179_symbol_chunk_id_idx1 on quotes_179 (cost=0.42..8.44 rows=1 width=16)
(actual time=678.142..678.142 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_180_symbol_chunk_id_idx1 on quotes_180 (cost=0.42..8.44 rows=1 width=16)
(actual time=157.393..157.393 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_181_symbol_chunk_id_idx1 on quotes_181 (cost=0.42..8.44 rows=1 width=16)
(actual time=36.361..36.361 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_182_symbol_chunk_id_idx1 on quotes_182 (cost=0.42..8.44 rows=1 width=16)
(actual time=28.271..28.271 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_183_symbol_chunk_id_idx1 on quotes_183 (cost=0.42..8.43 rows=1 width=16)
(actual time=146.265..146.265 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_184_symbol_chunk_id_idx1 on quotes_184 (cost=0.42..8.43 rows=1 width=16)
(actual time=16.792..16.793 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_185_symbol_chunk_id_idx1 on quotes_185 (cost=0.42..8.44 rows=1 width=16)
(actual time=144.218..144.218 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_186_symbol_chunk_id_idx1 on quotes_186 (cost=0.42..8.44 rows=1 width=16)
(actual time=81.750..81.750 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_187_symbol_chunk_id_idx1 on quotes_187 (cost=0.42..8.44 rows=1 width=16)
(actual time=111.781..111.781 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_188_symbol_chunk_id_idx1 on quotes_188 (cost=0.42..8.44 rows=1 width=16)
(actual time=24.841..24.841 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_189_symbol_chunk_id_idx1 on quotes_189 (cost=0.42..8.44 rows=1 width=16)
(actual time=54.262..54.262 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_190_symbol_chunk_id_idx1 on quotes_190 (cost=0.42..8.43 rows=1 width=16)
(actual time=22.917..22.917 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_191_symbol_chunk_id_idx1 on quotes_191 (cost=0.42..8.44 rows=1 width=16)
(actual time=43.056..43.056 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_192_symbol_chunk_id_idx1 on quotes_192 (cost=0.42..8.44 rows=1 width=16)
(actual time=32.850..32.850 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_193_symbol_chunk_id_idx1 on quotes_193 (cost=0.42..8.44 rows=1 width=16)
(actual time=154.957..154.957 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_194_symbol_chunk_id_idx1 on quotes_194 (cost=0.42..8.44 rows=1 width=16)
(actual time=29.994..29.994 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_195_symbol_chunk_id_idx1 on quotes_195 (cost=0.42..8.44 rows=1 width=16)
(actual time=143.209..143.209 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_196_symbol_chunk_id_idx1 on quotes_196 (cost=0.42..8.44 rows=1 width=16)
(actual time=22.891..22.891 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_197_symbol_chunk_id_idx1 on quotes_197 (cost=0.42..8.44 rows=1 width=16)
(actual time=162.157..162.157 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_198_symbol_chunk_id_idx1 on quotes_198 (cost=0.42..8.44 rows=1 width=16)
(actual time=19.513..19.513 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
-> Index Scan using quotes_199_symbol_chunk_id_idx1 on quotes_199 (cost=0.42..8.44 rows=1 width=16)
(actual time=25.230..25.230 rows=0 loops=1)
Index Cond: ((symbol)::text = 'MSFT'::text)
Buffers: shared read=3
Planning Time: 30.029 ms
Execution Time: 19627.821 ms
(608 rows)
====================
These are the main changes I made:
1)change cache_buffers size to 30% of system memory.
2)
max_parallel_maintenance_workers = 16 # taken from max_parallel_workers
max_parallel_workers_per_gather = 16 # taken from max_parallel_workers
max_parallel_workers = 32 # maximum number of max_worker_processes that
3)disable autovacuum on this slave node
4)
work_mem = 4MB # min 64kB
maintenance_work_mem = 2048MB # min 1MB
Thanks in advance!