Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
02.09.2007, 13:39
|
|||
|---|---|---|---|
распараллеливание вставки уникальных значений в таблицу |
|||
|
#18+
Приветствую, господа. Есть таблица с, примерно, 100млн записей. Несколько полей, но погоду делает только одно: типа text, по которому создан уникальный индекс. PRIMARY KEY, между тем - по другому полю - integer со счетчиком. Есть функция на plpgsql, которая вызывается из моей программы. Она пытается вставить запись в эту таблицу, и, если все нормально возвращает 0, а если WHEN unique_violation THEN (срабатывает обработчик ошибки) - возвращает 1. Вопрос такой: нужно вставить, скажем, 1000 новых записей в эту таблицу. Это значит, что моя прога должна 1000 раз вызвать plpgsql-функцию. Скажит, кто знает, имеет ли смысл запускать несколько экземпляров программы, каждый из которых будет обрабатывать свою часть от 1000 записей? Ускорит ли это вставку данных? Т.е., если упростить вопрос - быстрее ли выполняется в pg одновременно несколько проверок на уникальность значения поля, чем выполнять их последовательно? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.09.2007, 04:40
|
|||
|---|---|---|---|
|
|||
распараллеливание вставки уникальных значений в таблицу |
|||
|
#18+
Параллельная вставка может сократить общее время, если есть запас мощности у серверного железа и в данных нет дублей. Но если в исходных данных много повторов - смысла не имеет. Unique-индекс блокирует до конца транзакции все параллельные сессии, которые попытаются вставить дубль. Сама проверка на уникальность параллельно быстрее не выполняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&mobile=1&tid=2005075]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
75ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
| others: | 201ms |
| total: | 369ms |

| 0 / 0 |
