Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Ускорить работу / 2 сообщений из 2, страница 1 из 1
05.09.2016, 11:16
    #39303673
dsciencebk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорить работу
Здравствуйте, есть большая бд с данными о клиентах, которая очень долго работает. Раз в некоторый промежуток времени выполняется череда операций UPDATE. На время выполнения операций происходит блокировка. Все операции - одна транзакция. Также в каждой операции апдейт-для обновления данных делается селект, который также занимает много времени.

Как можно ускорить работу? Если разбить на несколько транзакций станет ли быстрее? Если вынести селекты и делать их заранее - уменьшится время блокировки ресурсов-возрастет ли производительность? Что вообще делать в таких случаях-первый раз сталкиваюсь.
...
Рейтинг: 0 / 0
05.09.2016, 23:07
    #39304100
aceton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорить работу
dsciencebk,

Блокируется *на запись* только то, что апдейтится, ибо версионник - читающие транзакции спокойно получат ту версию данных, которая была на начало вашего мега-апдейта. Если под тормозами подразумевается ожидание выполнения длительной транзакции, то разбиение на мелкие порции поможет. И медленный селект на каждый апдейт - это ненормально. Настраивайте сервер, ищите проблемные места, изучайте планы запросов, стройте индексы (или избавляйтесь от лишних) и т.п. - документации полно, и без конкретики тут добавить нечего.
PS
Не исключено, что Вы стали жертвой вот такой особенности .
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Ускорить работу / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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