我在表格中有超过100万行,当我在日期范围之间搜索时,我的SELECT
查询速度很慢。
所以,我有下表
CREATE TABLE public.main_transaction
(
id integer NOT NULL DEFAULT nextval('main_transaction_id_seq'::regclass),
description character varying(255) NOT NULL,
transaction_type character varying(18) NOT NULL,
pub_date timestamp with time zone NOT NULL,
...
)
上表有34列,包括3 FOREIGN KEY
s和
我想加快以下查询。
SELECT * FROM main_transaction
WHERE
pub_date >= '2018-01-01'
AND pub_date <'2018-01-08'
现在,它工作在 12秒。 :(
顺便说一下,我尝试了this解决方案。但是,我没有发现太多变化。
执行计划:
Seq Scan on main_transaction t (cost=0.00..74437.33 rows=28974 width=1455)
Filter: ((pub_date >= '2018-01-01 00:00:00+05'::timestamp with time zone) AND (pub_date < '2018-01-08 00:00:00+05'::timestamp with time zone))