Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Простой select медленно выполняется / 5 сообщений из 5, страница 1 из 1
08.12.2017, 10:24
    #39566428
mumuskul
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой select медленно выполняется
есть таблица с 55М записями id, varchar(500)
есть индекс на id

Код: sql
1.
2.
3.
4.
5.
6.
7.
EXPLAIN ANALYZE select * from content where id = 36384;
                                                                 QUERY PLAN
---------------------------------------------------------------------------------------------------------------------------------------------
 Index Scan using content_id_index on content (cost=0.00..5725.13 rows=2577 width=208) (actual time=60.689..269.661 rows=199 loops=1)
   Index Cond: (id = 36384)
 Total runtime: 269.709 ms
(3 строки)


второй раз уже доли мс, но я так понимаю это просто кеш
psql (PostgreSQL) 9.2.23
ОС Centos 7

Почему так долго выполняется простой select, четверть секунды?
Заранее благодарен
...
Рейтинг: 0 / 0
08.12.2017, 10:41
    #39566437
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой select медленно выполняется
mumuskul,

Код: sql
1.
explain (analyze,buffers) select ..


Сильно желательно с track_io_timing = on в конфиге. Будет видно сколько блоков и времени читали данные.

mumuskulвторой раз уже доли мс, но я так понимаю это просто кеш
У postgresql нет никакого кеша запросов. Если первый запрос медлителен - значит вы читали с дисков и диски у вас медленные.
...
Рейтинг: 0 / 0
11.12.2017, 18:17
    #39567902
Legushka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой select медленно выполняется
может быть вы очень часто удаляете/вставляете в таблицу и совсем не выполняете вакум, и ваш индекс содержит слишком много значений, карта видимости значительно устарела, и приходится много сверять есть ли на самом деле текущие значения в таблице.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
23.01.2019, 13:29
    #39763411
BigBudda
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой select медленно выполняется
Melkijmumuskul,

Код: sql
1.
explain (analyze,buffers) select ..


Сильно желательно с track_io_timing = on в конфиге. Будет видно сколько блоков и времени читали данные.

mumuskulвторой раз уже доли мс, но я так понимаю это просто кеш
У postgresql нет никакого кеша запросов. Если первый запрос медлителен - значит вы читали с дисков и диски у вас медленные.
А если первый запрос всегда быстрый, а последующие всегда медленные это о чём говорит?
...
Рейтинг: 0 / 0
23.01.2019, 13:34
    #39763423
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой select медленно выполняется
BigBuddaMelkijmumuskul,

Код: sql
1.
explain (analyze,buffers) select ..


Сильно желательно с track_io_timing = on в конфиге. Будет видно сколько блоков и времени читали данные.

пропущено...

У postgresql нет никакого кеша запросов. Если первый запрос медлителен - значит вы читали с дисков и диски у вас медленные.
А если первый запрос всегда быстрый, а последующие всегда медленные это о чём говорит?

О том что explain (analyze, costs, buffers, timing) Для обоих случаев показывать надо а не гадать.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Простой select медленно выполняется / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]