Влияние индексов в postgresql - PullRequest
       26

Влияние индексов в postgresql

1 голос
/ 30 октября 2019

Я добавил несколько индексов в одну таблицу PostgreSQL, я фактически добавил их во все столбцы, являющиеся внешним ключом другой таблицы.

Теперь операторы SELECT, использующие эти столбцы, работают в 5-10 раз быстрее, чемдо этого

SELECT * FROM table where indexed_column_fk=5000

но обычный оператор SELECT

SELECT * from table

намного медленнее (почти в 2 раза медленнее).

Как это возможно?

Также, когда я использую EXPLAIN ANALYZE, я получаю, что Общая стоимость увеличена с помощью индексов?

ОБНОВЛЕНИЕ: ВЫБРАТЬ * из таблицы с индексами

Seq Scan on my_table  (cost=0.00..26440.40 rows=343040 width=86) (actual time=0.292..756.614 rows=343040 loops=1)
Planning Time: 72.249 ms
Execution Time: 766.601 ms

без индексов (когда я их сбрасываю)

Seq Scan on my_table  (cost=0.00..26440.40 rows=343040 width=86) (actual time=0.022..194.712 rows=343040 loops=1)
Planning Time: 0.095 ms
Execution Time: 204.613 ms

Я запускаю это на локальном ПК с помощью pgAdmin 4

Обновление 2

Результаты после прогрева кэша

select * from table

Обновление 3 - для иллюстрации: при сканировании таблицы с использованием индекса

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...