Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Опять наболело IGNORE или REPLACE / 12 сообщений из 12, страница 1 из 1
18.09.2014, 11:35:49
    #38750123
Slawka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять наболело IGNORE или REPLACE
Дано таблица в которую раз в 3 мин. загужаются данные (=)) около 10 т. строк.
Записи должны быть уникальные.
Количество записей около 90 мл.

Возможно ли загружать данные в таблицу не делая в INSERT select на проверку уникальности.

Как MySQL IGNORE или REPLACE
...
Рейтинг: 0 / 0
18.09.2014, 11:43:38
    #38750138
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять наболело IGNORE или REPLACE
SlawkaДано таблица в которую раз в 3 мин. загужаются данные (=)) около 10 т. строк.
Записи должны быть уникальные.
Количество записей около 90 мл.

Возможно ли загружать данные в таблицу не делая в INSERT select на проверку уникальности.

Как MySQL IGNORE или REPLACE

before insert триггер повесьте с нужной логикой и все будет
...
Рейтинг: 0 / 0
18.09.2014, 11:54:46
    #38750158
Slawka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять наболело IGNORE или REPLACE
Тригер поразумевает select который хотелось бы избежать
...
Рейтинг: 0 / 0
18.09.2014, 11:57:36
    #38750164
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять наболело IGNORE или REPLACE
SlawkaКак MySQL IGNORE или REPLACE
ну идите на MySQL уже
вас там заждались

"на MySQL -- это вооон туда --->"
...
Рейтинг: 0 / 0
18.09.2014, 13:54:36
    #38750400
Slawka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять наболело IGNORE или REPLACE
qwwqSlawkaКак MySQL IGNORE или REPLACE
ну идите на MySQL уже
вас там заждались

"на MySQL -- это вооон туда --->"
Нерьвы?
...
Рейтинг: 0 / 0
18.09.2014, 13:57:52
    #38750406
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять наболело IGNORE или REPLACE
Slawkaqwwqпропущено...

ну идите на MySQL уже
вас там заждались

"на MySQL -- это вооон туда --->"
Нерьвы?
нет, MySQL-байобы
...
Рейтинг: 0 / 0
18.09.2014, 16:14:11
    #38750648
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять наболело IGNORE или REPLACE
SlawkaТригер поразумевает select который хотелось бы избежать

replace/ignore всеравно внутри себя по реализации делают select
это почти тот же триггер просто скрытый от вас кодом внутри
...
Рейтинг: 0 / 0
24.09.2014, 15:12:06
    #38756268
Phoinix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять наболело IGNORE или REPLACE
SlawkaТригер поразумевает select который хотелось бы избежать

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE OR REPLACE FUNCTION public.insert_ignore (
  "new_row" "public"."mytable"
)
RETURNS BOOLEAN AS
$body$
BEGIN
    INSERT INTO "public"."mytable" VALUES (new_row.*);
    RETURN TRUE;
EXCEPTION
    WHEN unique_violation THEN
        RETURN FALSE;
END;
$body$
LANGUAGE 'plpgsql';
...
Рейтинг: 0 / 0
24.09.2014, 16:20:36
    #38756388
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять наболело IGNORE или REPLACE
PhoinixSlawkaТригер поразумевает select который хотелось бы избежать

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE OR REPLACE FUNCTION public.insert_ignore (
  "new_row" "public"."mytable"
)
RETURNS BOOLEAN AS
$body$
BEGIN
    INSERT INTO "public"."mytable" VALUES (new_row.*);
    RETURN TRUE;
EXCEPTION
    WHEN unique_violation THEN
        RETURN FALSE;
END;
$body$
LANGUAGE 'plpgsql';



это будет сииильно дороже чем select проверка перед insert
(вообще Begin/exception весьма дорогая конструкция в Pg чтобы не стараться ее избегать по мере возможности).
...
Рейтинг: 0 / 0
25.09.2014, 11:52:39
    #38757244
Phoinix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять наболело IGNORE или REPLACE
Maxim BogukPhoinixпропущено...


Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE OR REPLACE FUNCTION public.insert_ignore (
  "new_row" "public"."mytable"
)
RETURNS BOOLEAN AS
$body$
BEGIN
    INSERT INTO "public"."mytable" VALUES (new_row.*);
    RETURN TRUE;
EXCEPTION
    WHEN unique_violation THEN
        RETURN FALSE;
END;
$body$
LANGUAGE 'plpgsql';



это будет сииильно дороже чем select проверка перед insert
(вообще Begin/exception весьма дорогая конструкция в Pg чтобы не стараться ее избегать по мере возможности).

Зависит от того, сколько реально предполагается EXCEPTION. Если вероятность нарушения уникальности не большая, то вполне себе.
Begin да, будет несколько тормозить INSERT. Но опять же: 10К строк в 3 минуты - несерьезно.
...
Рейтинг: 0 / 0
25.09.2014, 17:10:15
    #38757867
Ivan Durak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять наболело IGNORE или REPLACE
PhoinixMaxim Bogukпропущено...


это будет сииильно дороже чем select проверка перед insert
(вообще Begin/exception весьма дорогая конструкция в Pg чтобы не стараться ее избегать по мере возможности).

Зависит от того, сколько реально предполагается EXCEPTION. Если вероятность нарушения уникальности не большая, то вполне себе.
Begin да, будет несколько тормозить INSERT. Но опять же: 10К строк в 3 минуты - несерьезно.
что-то я не понял из-за одного дубля ВСЕ записи в эксепшен??? дорого
...
Рейтинг: 0 / 0
26.09.2014, 11:50:56
    #38758640
Phoinix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять наболело IGNORE или REPLACE
Ivan Durakчто-то я не понял из-за одного дубля ВСЕ записи в эксепшен??? дорого

Таки да, не понял. Только дубли в exception.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Опять наболело IGNORE или REPLACE / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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