powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / что выбрать ? SQLServer или DB2 или что то еще ?
24 сообщений из 24, страница 1 из 1
что выбрать ? SQLServer или DB2 или что то еще ?
    #34201288
Заранее спасибо за совет !

есть три таблицы, в две инсертим, из третий читаем.

вставляем в

Insert1;

Insert2;

селектим из

Select1(работает не очень часто 10 - 15 в секунду, но все равно упоминаю.);

скорость вставки, примерно за 7 сек вставляет около 10.700 записей

статементs такие:

utx.begin();
Statement stmt = conn.createStatement();

в цикле загоняю от 10 до 50 инсертов в batch (хотелось бы больше),
типа:
stmt.addBatch( динамически создаем инсерт статемент );

"insert into Insert1 values(,,,,,,)";
"insert into Insert2 values(,,,,,,,)"

что бы отослать их всех одним скопом на сервак для выполнения:
int[] counts = stmt.executeBatch();
stmt.close();
utx.commit();


Вопросы:
есть ли способ ускорить вставку новых записей в
MS SQLServer или надо взять др. DB типа DB2 или Oracle или еще какую ?.
Есть ли способ при создании DB (буфера, пулы, и тд.), повлиять на скорость
работы DB ?



Наблюдение,
прога работает с SQLServer 2000 - 64, который стоит на очень быстрой машине
примерно с такой же скоростью как и с DB2 ESE, которая стоит на
слабой машине и устанавливалась с дефаултовыми значениями для буферов и таблиц.
В данных, вроде нет чего-то страшного(см. ниже).
Потоки данных не пересекаются ни под каким видом.


CREATE TABLE dbo.Insert1
(Id INT NOT NULL,
Cust INT NOT NULL,
Insert2Id INT NOT NULL,
Fl1 Real NOT NULL,
Fl2 Real NOT NULL,
Time BIGINT NOT NULL);

ALTER TABLE dbo.Insert1
ADD CONSTRAINT PK_id PRIMARY KEY (Id);

CREATE TABLE dbo.Insert2
(Id INT NOT NULL,
Source INT NOT NULL,
PairId INT NOT NULL,
fl1 Real NOT NULL,
fl2 Real NOT NULL,
TimeIn BIGINT NOT NULL);

ALTER TABLE dbo.Insert2
ADD CONSTRAINT PK_id PRIMARY KEY (Id);
...
Рейтинг: 0 / 0
что выбрать ? SQLServer или DB2 или что то еще ?
    #34204387
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
начинающий_002 wrote:
> есть ли способ ускорить вставку новых записей в
> MS SQLServer или надо взять др. DB типа DB2 или Oracle или еще какую ?.
да, пожалуй стоит взять другую БД... "нофсякей"....
Или взять БОЛ и почитать про BCP, что-ли... а то гонять по сетке тексты
(ну, это мелочь), а потом заставлять сервак парсить эту ересь....
накладно будет.

> Есть ли способ при создании DB (буфера, пулы, и тд.), повлиять на скорость
> работы DB ?
Дык, может усё-таки трабла не в серваке, а в аппликухе, написанно судя
по всему на c#? (кстате - телепаты в отпуске).

зы поправьте приложение - а там посмотрим...
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
что выбрать ? SQLServer или DB2 или что то еще ?
    #34204526
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
начинающий_002 Вопросы:
есть ли способ ускорить вставку новых записей ...
Как сказано выше - это зависит от многих причин...

Если объем небольшой (одна таблица до 2Gb), то FoxPro даст гораздо более высокую скорость вставки в native format на быстрой машине в быстрой сети...
...
Рейтинг: 0 / 0
что выбрать ? SQLServer или DB2 или что то еще ?
    #34207155
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Ch wrote:
> начинающий_002
> Вопросы:
> есть ли способ ускорить вставку новых записей ...
>
> Как сказано выше - это зависит от многих причин...
>
> Если объем небольшой (одна таблица до 2Gb), то FoxPro даст гораздо более
> высокую скорость вставки в native format на быстрой машине в быстрой сети...
.... и в чем-то Sergey Ch очень даже прав. Более того, запись в обычный
бинарный файл даст еще больший прирост... :-)

зы ничего личного.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
что выбрать ? SQLServer или DB2 или что то еще ?
    #34211561
Софтинушка написана на java.
спасибо.
...
Рейтинг: 0 / 0
что выбрать ? SQLServer или DB2 или что то еще ?
    #34211610
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начинающий_002 wrote:
> Софтинушка написана на java.
"Боже! Одно лицо!" :-)
Всё равно посмотрите в сторону bulk copy - в жабе вроде как должны быть
интерфейсы.
Или попробуйте вызывать процедуру вставки с прибинденными параметрами
(вроде бы должно быть возможно).
Если такое таки да, возможно - можно рассмотреть вариант, когда одна
процедура принимает, скажем 10 наборов параметров - дабы за один
round-trip к серверу вставить 10 записей.

> спасибо.
та не за что, собссно....
зы по результатам - расскажите, плиз, что вышло. Не то чтобы очень
сильно, но - для общего развития - интересно. А там - вдруг пригодится
знание...
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
что выбрать ? SQLServer или DB2 или что то еще ?
    #34213072
Erik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ANT's ADS попробуйте, там самая быстая вставка быстрее небывает, есть новая версия 3.6 Еще можно рекомендовать Oracle + OraLoader Это спецальный механизм для быстрой загрузки записей. В ANT's есть такой же в последней версии сильно ускорен.
...
Рейтинг: 0 / 0
что выбрать ? SQLServer или DB2 или что то еще ?
    #34215298
Funny_Falcon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как это не странно звучит от меня ;-) но может MySQL :-)
...
Рейтинг: 0 / 0
что выбрать ? SQLServer или DB2 или что то еще ?
    #34215609
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Funny_Falcon wrote:
> Как это не странно звучит от меня ;-) но может MySQL :-)
Да, мускл - это зверь.... Без балды....
Некоторые фичи - в головном мозге не укладываются, можно только вытянуть
вдоль спинного....
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
что выбрать ? SQLServer или DB2 или что то еще ?
    #34223609
Народ !
спасибо огромное всем,
Уточняю, :-).
Софтинушка под WAS 6.0.2
через JDBC инсертит записи в DB( MSSQL Server) по приходу из внешенго источника.
за раз - UserTransaction, отправляем 5-60 записей для вставки через bulk insertion(Batch).
1 record == 36 байт, скорость инсерта примерно 1.250 записей в секунду.
Попробовал stored procedure на TSQL,
работает как зверь-20.000 записей вставляет в 1 сек в среднем.
Но это тепличные условия.:-). Нет WAS нет JDBC.
Сетка берет не много до 5%+-,
парсинг простого inserta делается в один проход, оптимизировать особо не чего :-(.
Очень надеюсь что MS сделал его правильно.

В реальности у меня IBM && MS работают вместе и тормоз может быть где-то на стыке.
Может кто уже попадал в такую ситуацию ?
...
Рейтинг: 0 / 0
что выбрать ? SQLServer или DB2 или что то еще ?
    #34223788
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ErikANT's ADS попробуйте, там самая быстая вставка быстрее небывает, есть новая версия 3.6 Еще можно рекомендовать Oracle + OraLoader Это спецальный механизм для быстрой загрузки записей. В ANT's есть такой же в последней версии сильно ускорен.

Cache 5.2
вставка 1 000 000 записей за секунду или меньше
...
Рейтинг: 0 / 0
что выбрать ? SQLServer или DB2 или что то еще ?
    #34224626
andsm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начинающий_002за раз - UserTransaction, отправляем 5-60 записей для вставки через bulk insertion(Batch).
1 record == 36 байт, скорость инсерта примерно 1.250 записей в секунду.
1250 записей в секунду выглядит маловато.
Что значит bulk insertion(Batch)? Это именно bulk insert, т.е. используется IRowSetFastLoad? или используется команда bulk insert? Или это просто несколько инсертов в одном батче (и тогда это не имеет никакого отношения к bulk insert)?
...
Рейтинг: 0 / 0
что выбрать ? SQLServer или DB2 или что то еще ?
    #34224775
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andsm Начинающий_002за раз - UserTransaction, отправляем 5-60 записей для вставки через bulk insertion(Batch).
1 record == 36 байт, скорость инсерта примерно 1.250 записей в секунду.
1250 записей в секунду выглядит маловато.
Что значит bulk insertion(Batch)? Это именно bulk insert, т.е. используется IRowSetFastLoad? или используется команда bulk insert? Или это просто несколько инсертов в одном батче (и тогда это не имеет никакого отношения к bulk insert)?Конечно, это не bulk insert, тем более, что написано "через JDBC"

bulk insert в MSSQL должен быстро вставлять. И в других БД тоже есть средства быстрой загрузки.
...
Рейтинг: 0 / 0
что выбрать ? SQLServer или DB2 или что то еще ?
    #34224941
Flare
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
locky.... и в чем-то Sergey Ch очень даже прав. Более того, запись в обычный
бинарный файл даст еще больший прирост... :-) уел... уел...
...
Рейтинг: 0 / 0
что выбрать ? SQLServer или DB2 или что то еще ?
    #34225846
akurgan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
utx.begin();

PreparedStatement stmt = conn.prepareStatement("insert into table_name values (:a1, :a2, :a3)");

for(..){
stmt.setString("a1", str1);
stmt.setString("a2", str2);
stmt.setString("a2", str2);
stmt.addBatch();
}

stmt.executeBatch();

stmt.close();

utx.commit();
...
Рейтинг: 0 / 0
что выбрать ? SQLServer или DB2 или что то еще ?
    #34225857
akurgan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правда драйвер JDBC должен поддерживать batch updates иначе никакого прироста производительности не получить.
...
Рейтинг: 0 / 0
что выбрать ? SQLServer или DB2 или что то еще ?
    #34225909
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MX -- ALEX ErikANT's ADS попробуйте, там самая быстая вставка быстрее небывает, есть новая версия 3.6 Еще можно рекомендовать Oracle + OraLoader Это спецальный механизм для быстрой загрузки записей. В ANT's есть такой же в последней версии сильно ускорен.

Cache 5.2
вставка 1 000 000 записей за секунду или меньше
> /dev/nulll
Вставка 10 000 000 записей за секунду или меньше
...
Рейтинг: 0 / 0
что выбрать ? SQLServer или DB2 или что то еще ?
    #34225954
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAl MX -- ALEX ErikANT's ADS попробуйте, там самая быстая вставка быстрее небывает, есть новая версия 3.6 Еще можно рекомендовать Oracle + OraLoader Это спецальный механизм для быстрой загрузки записей. В ANT's есть такой же в последней версии сильно ускорен.

Cache 5.2
вставка 1 000 000 записей за секунду или меньше
> /dev/nulll
Вставка 10 000 000 записей за секунду или меньшеА удаление - ваще мухой летает. Быстрее чем команду на консоль отправляешь
...
Рейтинг: 0 / 0
что выбрать ? SQLServer или DB2 или что то еще ?
    #34233082
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
locky
Funny_Falcon wrote:
> Как это не странно звучит от меня ;-) но может MySQL :-)
Да, мускл - это зверь.... Без балды....
Некоторые фичи - в головном мозге не укладываются, можно только вытянуть
вдоль спинного....
Posted via ActualForum NNTP Server 1.3Например?)
...
Рейтинг: 0 / 0
что выбрать ? SQLServer или DB2 или что то еще ?
    #34235352
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MX -- ALEX
Cache 5.2
вставка 1 000 000 записей за секунду или меньше


Я тут картики по 20 мег в рекорды вставляю - и как интересно М сможет 20 петабайт за секунду вставить ?
...
Рейтинг: 0 / 0
что выбрать ? SQLServer или DB2 или что то еще ?
    #34235366
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lepsik MX -- ALEX
Cache 5.2
вставка 1 000 000 записей за секунду или меньше


Я тут картики по 20 мег в рекорды вставляю - и как интересно М сможет 20 петабайт за секунду вставить ?

сцылку вставит
...
Рейтинг: 0 / 0
что выбрать ? SQLServer или DB2 или что то еще ?
    #34247009
Народ !

ну попытаюсь выдать резюме.

Софтинушка работает как зверь, если с SQLServer работать через VB или C#(TSQL).
C Java(ой) быстро работать не хочет.

Остался "пустяк", уговорить руководство остановиться на одной платформе (NET,J2EE).

Всем большое спасибо !
...
Рейтинг: 0 / 0
что выбрать ? SQLServer или DB2 или что то еще ?
    #34247265
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
начинающий_002
Остался "пустяк", уговорить руководство остановиться на одной платформе (NET,J2EE).

А что, руководство хочет остановиться сразу на обеих?
...
Рейтинг: 0 / 0
что выбрать ? SQLServer или DB2 или что то еще ?
    #34252621
Тема закрыта.
Всем огромное спасибо.
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / что выбрать ? SQLServer или DB2 или что то еще ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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