PostgreSQL:SELECT查询的性能随着时区列的时间戳而增加

时间:2018-05-01 12:33:55

标签: postgresql indexing database-performance

我在表格中有超过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))

0 个答案:

没有答案