|
Разница в выполнении запроса с Like на двух серверах
|
|||
---|---|---|---|
#18+
Добрый день! Есть запрос, который выполнялся достаточно шустро на нашем старом сервере БД. Сделали бэкап, перенесли базу на новый сервер. Запрос стал выполняться в сотни раз медленнее. На новом сервере более быстрые диски, памяти примерно также. Эта база на старом сервере была одна, на новом есть ещё пару десятков мелких, ИМХО - нагрузка небольшая. Ниже запросы и планы выполнения на старом и новом серверах. Не могу понять в каком направлении копать, чтобы на новом сервере запрос выполнялся с такой же скоростью. Сразу скажу, что сам запрос менять возможности не имеем :(. Старый сервер: explain (analyze, buffers) SELECT concat(COUNT(ti), ',', SUM(ti.green), ',', SUM(ti.orange)) FROM info_ti_data ti WHERE ti.uuid_location LIKE '%a950e28c-8ec1-4656-85ef-8b8861baa03b%'; QUERY PLAN ------------------------------------------------------------------------------------------------------------------------- Aggregate (cost=5617.84..5617.85 rows=1 width=32) (actual time=27.646..27.646 rows=1 loops=1) Buffers: shared hit=99 read=5186 -> Seq Scan on info_ti_data ti (cost=0.00..5615.90 rows=258 width=752) (actual time=12.826..27.629 rows=35 loops=1) Filter: (uuid_location ~~ '%a950e28c-8ec1-4656-85ef-8b8861baa03b%'::text) Rows Removed by Filter: 26437 Buffers: shared hit=99 read=5186 Planning time: 0.198 ms Execution time: 27.667 ms (8 rows) Новый сервер: explain (analyze, buffers) SELECT concat(COUNT(ti), ',', SUM(ti.green), ',', SUM(ti.orange)) FROM info_ti_data ti WHERE ti.uuid_location LIKE '%a950e28c-8ec1-4656-85ef-8b8861baa03b%'; QUERY PLAN ------------------------------------------------------------------------------------------------------------------------------- Aggregate (cost=594216.51..594216.52 rows=1 width=32) (actual time=48354.321..48354.321 rows=1 loops=1) Buffers: shared hit=58 read=593874 -> Seq Scan on info_ti_data ti (cost=0.00..594216.50 rows=1 width=750) (actual time=41581.697..48353.144 rows=35 loops=1) Filter: (uuid_location ~~ '%a950e28c-8ec1-4656-85ef-8b8861baa03b%'::text) Rows Removed by Filter: 26437 Buffers: shared hit=3 read=593874 Planning time: 16.847 ms Execution time: 48354.381 ms (8 rows) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2020, 12:29 |
|
Разница в выполнении запроса с Like на двух серверах
|
|||
---|---|---|---|
#18+
azirumga Buffers: shared hit=99 read=5186 Buffers: shared hit=3 read=593874 Как можно заметить, новая таблица в 100 раз больше. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2020, 13:02 |
|
Разница в выполнении запроса с Like на двух серверах
|
|||
---|---|---|---|
#18+
Melkij azirumga Buffers: shared hit=99 read=5186 Buffers: shared hit=3 read=593874 Как можно заметить, новая таблица в 100 раз больше. select count(*) даёт одинаковый результат на обоих серверах. У нас были проблемы с работой vacuum на новом сервере. Может ли это как-то влиять? И как это проверить? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2020, 13:39 |
|
Разница в выполнении запроса с Like на двух серверах
|
|||
---|---|---|---|
#18+
Melkij, кстати да, count даёт одинаковое количество записей, а вот реальный размер таблицы в 100 раз различается ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2020, 13:46 |
|
Разница в выполнении запроса с Like на двух серверах
|
|||
---|---|---|---|
#18+
Melkij azirumga Buffers: shared hit=99 read=5186 Buffers: shared hit=3 read=593874 Как можно заметить, новая таблица в 100 раз больше. Melkij, спасибо, сделали на таблицу vacuum full, она уменьшилась и нормально заработала. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2020, 14:13 |
|
|
start [/forum/topic.php?fid=53&msg=39940521&tid=1994761]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 146ms |
0 / 0 |