Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / распараллеливание вставки уникальных значений в таблицу / 2 сообщений из 2, страница 1 из 1
02.09.2007, 13:39
    #34770196
tier.ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллеливание вставки уникальных значений в таблицу
Приветствую, господа.
Есть таблица с, примерно, 100млн записей. Несколько полей, но погоду делает только одно: типа text, по которому создан уникальный индекс. PRIMARY KEY, между тем - по другому полю - integer со счетчиком.
Есть функция на plpgsql, которая вызывается из моей программы. Она пытается вставить запись в эту таблицу, и, если все нормально возвращает 0, а если WHEN unique_violation THEN (срабатывает обработчик ошибки) - возвращает 1.
Вопрос такой: нужно вставить, скажем, 1000 новых записей в эту таблицу. Это значит, что моя прога должна 1000 раз вызвать plpgsql-функцию. Скажит, кто знает, имеет ли смысл запускать несколько экземпляров программы, каждый из которых будет обрабатывать свою часть от 1000 записей? Ускорит ли это вставку данных? Т.е., если упростить вопрос - быстрее ли выполняется в pg одновременно несколько проверок на уникальность значения поля, чем выполнять их последовательно?
Спасибо.
...
Рейтинг: 0 / 0
03.09.2007, 04:40
    #34770575
ЯЕХХ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
распараллеливание вставки уникальных значений в таблицу
Параллельная вставка может сократить общее время, если есть запас мощности у серверного железа и в данных нет дублей.
Но если в исходных данных много повторов - смысла не имеет. Unique-индекс блокирует до конца транзакции все параллельные сессии, которые попытаются вставить дубль. Сама проверка на уникальность параллельно быстрее не выполняется.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / распараллеливание вставки уникальных значений в таблицу / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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