Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Что лучше и быстрее?  [new]
nastyarndn
Member

Откуда:
Сообщений: 13
Добрый день!

Что быстрее при загрузки данных?
UPDATE or INSERT (обновлять записи по ключу, если они изменились и инсертить, которых нет )
или
TRUNCATE AND INSERT (почистить табличку и заинсертить)

с учетом того что дынные каждый день растут.
23 апр 15, 08:11    [17552074]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее?  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54396
nastyarndn,

огласи объемы данных
23 апр 15, 08:15    [17552079]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее?  [new]
nastyarndn
Member

Откуда:
Сообщений: 13
andreymx,

434788 строк на данный момент и каждый день приходит по 8000
23 апр 15, 08:20    [17552091]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее?  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54396
а много из этих 0.4 млн строк обновляется?
23 апр 15, 08:36    [17552120]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее?  [new]
Добрый Э - Эх
Guest
nastyarndn,

0) откуда планируется взять "старые" данные после truncate?
1) думается 8000 insert/update всяко проще для сервера, чем резервирование старых данных + truncate + вставка 400000 строк "старья" + 8000 новых записей


З.Ы.
MERGE уже курил?
23 апр 15, 08:42    [17552138]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее?  [new]
nastyarndn
Member

Откуда:
Сообщений: 13
andreymx,

informatica все начинает апдейтить
23 апр 15, 08:42    [17552139]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее?  [new]
Ганнибал бен Гисгон Магонид
Member [заблокирован]

Откуда: рПТ
Сообщений: 2267
nastyarndn
andreymx,

informatica все начинает апдейтить


Зачем?
23 апр 15, 08:44    [17552144]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее?  [new]
Ганнибал бен Гисгон Магонид
Member [заблокирован]

Откуда: рПТ
Сообщений: 2267
Апдейтить надо не всё, а то, что пришло в загрузке. И вставлять тоже. Если у вас информатика начинает апдейтить всё, значит надо сделать, чтобы она апдейтила только то, что нужно, либо не использовать её.
23 апр 15, 08:47    [17552152]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее?  [new]
ArtNick
Member

Откуда:
Сообщений: 1227
nastyarndn
Добрый день!

Что быстрее при загрузки данных?
UPDATE or INSERT (обновлять записи по ключу, если они изменились и инсертить, которых нет )
или
TRUNCATE AND INSERT (почистить табличку и заинсертить)

с учетом того что дынные каждый день растут.


Другие сессии меняю эти данные?
23 апр 15, 18:00    [17555470]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее?  [new]
nastyarndn
Member

Откуда:
Сообщений: 13
ArtNick, не меняют
14 май 15, 06:26    [17637606]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее?  [new]
kaldorey
Member

Откуда:
Сообщений: 600
nastyarndn,

Смотря еще, как эти данные используются. По сути, для таких объемов проще всего грузить в чистые дубликаты таблиц и потом подменять, но тут, чтобы зависимости не сломались, надо в динамику оборачивать.
14 май 15, 08:35    [17637736]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее?  [new]
kaldorey
Member

Откуда:
Сообщений: 600
это если нужен бесперебойный доступ
14 май 15, 09:02    [17637820]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее?  [new]
Fenimor Kuper
Member

Откуда: Центральная периферия России
Сообщений: 3502
Я голосую за UPDATE
25 май 15, 08:42    [17683563]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее?  [new]
Alexey Tomin
Member

Откуда: Самара
Сообщений: 1944
nastyarndn
Добрый день!

Что быстрее при загрузки данных?
UPDATE or INSERT (обновлять записи по ключу, если они изменились и инсертить, которых нет )
или
TRUNCATE AND INSERT (почистить табличку и заинсертить)

с учетом того что дынные каждый день растут.


Недавно понадобилось обносить 300М записей из внешнего источника в таблицу, где есть 600М строк (из них 250М пересекаются с новыми).
3 индекса (один уникальный, PK), внешних ключей нет.
В итоге быстрее всего оказалось тупо merge сделать. За сутки уложился, при этом (что очень важно) использование данных не тормозилось.
25 май 15, 10:40    [17684260]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить