|
Долгое время запроса count(*)
|
|||
---|---|---|---|
#18+
Postgres 11 Есть таблица на 6 млн записей: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
выполняю запрос: Код: sql 1. 2.
План выполнения: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
или такой запрос: Код: sql 1. 2.
План выполнения: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Тоже самое на том же компе, на аналогичной таблице в 10 млн записей (почти в 2 раза больше), но в mysql Код: sql 1. 2. 3. 4. 5.
Код: sql 1. 2. 3. 4. 5.
По второму запросу постгрес проигрывает mysql 10 сек! Что с ним не так? Очень не хочется слезать с postgrest... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2020, 11:27 |
|
Долгое время запроса count(*)
|
|||
---|---|---|---|
#18+
Ситуация исправилась после Код: sql 1. 2. 3. 4. 5. 6.
но analyzer время подвирает конкретно:)) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
ну и ладно, мне же ехать, а не шашечки ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2020, 12:30 |
|
Долгое время запроса count(*)
|
|||
---|---|---|---|
#18+
prustr, планировщик время не планирует, вообще. cost — просто число для сравнения разных планов. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2020, 12:32 |
|
Долгое время запроса count(*)
|
|||
---|---|---|---|
#18+
vyegorov, Вообще то я про Execution Time: 11181.294 ms ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2020, 12:36 |
|
Долгое время запроса count(*)
|
|||
---|---|---|---|
#18+
prustr vyegorov, Вообще то я про Execution Time: 11181.294 ms 1)я бы включил set track_io_timing to on; и потом гонял бы EXPLAIN (ANALYZE, COSTS, BUFFERS, TIMING) запроса причем не 1 раз а 3-4-5 смотря на изменение времени работы у вас явно зависит от везения и от того насколько данные с памяти (shared buffers базы или кеша OS) читаются а насколько с дисков. Скорее всего диски у вас очень неторопливые и 1000 раз сходить на диск - вот 10 секунд и набирается... а следующий раз все эти данные уже в памяти лежат и скорость совсем другая получается. В общем когда у вас база не в памяти а сильно с дисков читается скорость запроса будет определяться 1)скоростью работы дисков 2)везением зависящим от того насколько нужные вам данные закешированы -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2020, 13:42 |
|
|
start [/forum/topic.php?fid=53&fpage=18&tid=1994293]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
others: | 296ms |
total: | 445ms |
0 / 0 |