PostgreSQL: повышение производительности при выполнении запроса SELECT для метки времени со столбцом часового пояса - PullRequest
0 голосов
/ 01 мая 2018

У меня более 1 миллиона строк в таблице, и мой запрос 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 с и
Я хочу ускорить следующий запрос.

SELECT * FROM main_transaction 
WHERE 
   pub_date >= '2018-01-01'
   AND pub_date <'2018-01-08'

Теперь он работает за 12 секунд . :(

Кстати, я попробовал это решение. Однако я не заметил особых изменений.

план выполнения:

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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...