|
|
|
подскажите по блокировкам, как искать, как проверять?
|
|||
|---|---|---|---|
|
#18+
ситуация такая: в одной функции при генерации данных идет удаление старых данных и вставка новых если функция выполняется впервые то выполняется очень быстро если повторно то выполняется очень долго, причем замеры скорости между удалением и вставкой показали что долго выполняется именно вставка новых данных (удаление доли секунды) есть подозрение, что хоть удаление и прошло мгновенно, оно еще не сняло блокировку для инсерта таблица очень большая около 20 гигов подскажите плиз как это можно отловить, и что еще может быть причиной такого падения по скорости? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2016, 15:20 |
|
||
|
подскажите по блокировкам, как искать, как проверять?
|
|||
|---|---|---|---|
|
#18+
Legushka, INSERT не должен блокироваться, за исключением ситуаций, когда кто-то держит блоки на уникальные индексы. Процедура выполняется в одной сессии или в несколько параллельных? Как настроен vacuum-ing таблицы (да и экземпляра в целом)? Можете привести код, который делает эту работу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2016, 15:29 |
|
||
|
подскажите по блокировкам, как искать, как проверять?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2016, 15:31 |
|
||
|
подскажите по блокировкам, как искать, как проверять?
|
|||
|---|---|---|---|
|
#18+
может развести на разные транзакции предварительное удаление и инсерт данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2016, 15:31 |
|
||
|
подскажите по блокировкам, как искать, как проверять?
|
|||
|---|---|---|---|
|
#18+
новые данные: ANALYZE роли в ускорении не сыграл, удаление само прошло быстро, после пришлось подождать выполнение ANALYZE и уже потом ровно столько же выполнялся запрос на инсерт такое возможно что он долго выполняется из за того что сперва склеивается текст запроса, учитывая разные условия и только потом этот текст с инсертом запускается может PG не хранит удачные планы по склеенным запросам? и каждый раз когда я запускаю склеенный запрос, планировщик с нуля все считает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2016, 16:16 |
|
||
|
подскажите по блокировкам, как искать, как проверять?
|
|||
|---|---|---|---|
|
#18+
Legushkaновые данные: ANALYZE роли в ускорении не сыграл, удаление само прошло быстро, после пришлось подождать выполнение ANALYZE и уже потом ровно столько же выполнялся запрос на инсерт такое возможно что он долго выполняется из за того что сперва склеивается текст запроса, учитывая разные условия и только потом этот текст с инсертом запускается может PG не хранит удачные планы по склеенным запросам? и каждый раз когда я запускаю склеенный запрос, планировщик с нуля все считает? PG вообще не хранит/не кеширует планы если вы не используете prepare явным образом (или в хранимках). Вы лучше покажите ваш INSERT и сколько он времени работал. Ну и EXPLAIN (analyze, costs, buffers, timing) для INSERT тоже работает. -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2016, 16:58 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39252069&tid=1997186]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
174ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 493ms |

| 0 / 0 |
