|
Execution Time: 841407.191 ms
|
|||
---|---|---|---|
#18+
Приветствую! Есть таблица 180Gb 800млн. строк PostgreSQL ver 11.2 Код: sql 1. 2. 3. 4. 5.
авторResult (cost=6.48..6.49 rows=1 width=8) (actual time=841407.153..841407.153 rows=1 loops=1) InitPlan 1 (returns $0) -> Limit (cost=0.57..6.48 rows=1 width=8) (actual time=841407.143..841407.145 rows=1 loops=1) -> Index Only Scan Backward using ix_trade_id_market_id_currency_id on trade (cost=0.57..30884671.28 rows=5228456 width=8) (actual time=841407.142..841407.142 rows=1 loops=1) Index Cond: ((trade_id IS NOT NULL) AND (market_id = 2) AND (currency_id = 23)) Heap Fetches: 1 Planning Time: 5.782 ms Execution Time: 841407.191 ms Сканирование индекса занимает очень много времени, несмотря на прогноз оптимизатора Planning Time: 5.782 ms (Что было бы ОК). Раньше работал с Сиквелом и подобные задачи решались в секунды на значительно бОльших объемах. Перформенс монитор сервера показывает (на мой взгляд) порядок. Подскажите, куда копать? Заранее благодарю. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 20:23 |
|
Execution Time: 841407.191 ms
|
|||
---|---|---|---|
#18+
posdev, 1)Planning Time - это не планируемое время а время планирования это раз. 2)покажите индекс ix_trade_id_market_id_currency_id не похоже что он подходит к запросу хоть сколько-то 3)под этот запрос надо сделать индекс (market_id, currency_id, trade_id) тогда будет быстро ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 20:27 |
|
Execution Time: 841407.191 ms
|
|||
---|---|---|---|
#18+
Сорри, не тот индекс указал: Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 20:38 |
|
Execution Time: 841407.191 ms
|
|||
---|---|---|---|
#18+
posdev Сорри, не тот индекс указал: Код: sql 1.
не подходит он под этот запрос совсем... потому и тормозит а подходящего нет -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2020, 20:43 |
|
Execution Time: 841407.191 ms
|
|||
---|---|---|---|
#18+
Код: sql 1.
? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2020, 06:29 |
|
Execution Time: 841407.191 ms
|
|||
---|---|---|---|
#18+
igor.n Код: sql 1.
? без особой потребности я бы DESC не добавлял там... оно и с ним и без него должно работать а DESC руками указанный запутывает визуально. Так что просто CREATE INDEX CONCURRENTLY idx ON history.trade USING btree (market_id, currency_id, trade_id); и добавить CONCURRENTLY чтобы запросы не блокировать на время внесения индекса. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2020, 08:13 |
|
|
start [/forum/topic.php?fid=53&fpage=23&tid=1994486]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 287ms |
total: | 430ms |
0 / 0 |