[SQL, Oracle] вставить много данных одним INSERT-ом.

yolki

в MySQL прокатывает:

INSERT INTO t VALUES
(1001,'bla'
(2001,'hrenase'
(1005,'ogo')

в Оракле INSERT так не умеет (или умеет )
две тыщи инсёртов выполняются ессно медленнее одного. чё делать?

kruzer25

А
INSERT INTO t VALUES  (1001,'bla');
INSERT INTO t VALUES (2001,'hrenase');
INSERT INTO t VALUES (1005,'ogo');

там работает?
Это, хотя и две тысячи инсертов, но только один запрос к базе... а на скорость влияет, наверное, в основном всё-таки количество запросов, а не то, в одной команде инсерты или в разных...

sinet

Юзай FORALL и INSERT INTO с коллекцией.
Либо SQL*Loader.

pitrik2

отключи автокоммит
хотя так еще хуже сделаешь, если много записей и таблица отката у бд маленькая
а лучше поставь коммит через каждые 100 инсертов
Оставить комментарий
Имя или ник:
Комментарий: