|
|
|
как игнорировать повторную вставку строк
|
|||
|---|---|---|---|
|
#18+
проблема в следующем: 1. база на 140 млн записей 2. записи должны быть уникальными, поэтому использую индекс unique 3. загонять данные в нее надо из текстовых файлов 4. единственное, что я нашла для этой цели - команда COPY 5. она вылетает при первой же попытке вставить не уникальную строку например, в MSSQL есть специальная опция для таких случаев ignore duplicated keys Подскажите, пожалуйста, есть ли что-нибудь аналогичное для Postgre SQL или как обойти данную проблему. Заранее благодарна ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2004, 17:50:19 |
|
||
|
как игнорировать повторную вставку строк
|
|||
|---|---|---|---|
|
#18+
Ничего подобного здесь нет. Единственное, могу утешить - в 7.5 вроде как обещают сделать частичный ROLLBACK - можно будет откатываться до явно указанного чекпоинта! while (1) { CHECKPOINT A1 prepare_next_insert_data(); INSERT INTO big_table VALUES (...) if (error == non_unique) { ROLLBACK A1; } } Хотя не знаю точно, как это будет реализовано, может в этой ситуации оно не поможет ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2004, 07:18:39 |
|
||
|
как игнорировать повторную вставку строк
|
|||
|---|---|---|---|
|
#18+
2 PrettyFly_M Ну я бы честно говоря не стал бы лить командой COPY данные напрямую в рабочую таблицу, а для начала во временную (или промежуточную) со всеми соответствующими проверками и чисткой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2004, 15:28:00 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=357&tid=2007863]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
281ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 177ms |
| total: | 514ms |

| 0 / 0 |
