|
|
|
что выбрать ? SQLServer или DB2 или что то еще ?
|
|||
|---|---|---|---|
|
#18+
Заранее спасибо за совет ! есть три таблицы, в две инсертим, из третий читаем. вставляем в 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); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2006, 20:19 |
|
||
|
что выбрать ? SQLServer или DB2 или что то еще ?
|
|||
|---|---|---|---|
|
#18+
начинающий_002 wrote: > есть ли способ ускорить вставку новых записей в > MS SQLServer или надо взять др. DB типа DB2 или Oracle или еще какую ?. да, пожалуй стоит взять другую БД... "нофсякей".... Или взять БОЛ и почитать про BCP, что-ли... а то гонять по сетке тексты (ну, это мелочь), а потом заставлять сервак парсить эту ересь.... накладно будет. > Есть ли способ при создании DB (буфера, пулы, и тд.), повлиять на скорость > работы DB ? Дык, может усё-таки трабла не в серваке, а в аппликухе, написанно судя по всему на c#? (кстате - телепаты в отпуске). зы поправьте приложение - а там посмотрим... Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2006, 19:32 |
|
||
|
что выбрать ? SQLServer или DB2 или что то еще ?
|
|||
|---|---|---|---|
|
#18+
начинающий_002 Вопросы: есть ли способ ускорить вставку новых записей ... Как сказано выше - это зависит от многих причин... Если объем небольшой (одна таблица до 2Gb), то FoxPro даст гораздо более высокую скорость вставки в native format на быстрой машине в быстрой сети... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2006, 21:41 |
|
||
|
что выбрать ? SQLServer или DB2 или что то еще ?
|
|||
|---|---|---|---|
|
#18+
Sergey Ch wrote: > начинающий_002 > Вопросы: > есть ли способ ускорить вставку новых записей ... > > Как сказано выше - это зависит от многих причин... > > Если объем небольшой (одна таблица до 2Gb), то FoxPro даст гораздо более > высокую скорость вставки в native format на быстрой машине в быстрой сети... .... и в чем-то Sergey Ch очень даже прав. Более того, запись в обычный бинарный файл даст еще больший прирост... :-) зы ничего личного. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2006, 13:08 |
|
||
|
что выбрать ? SQLServer или DB2 или что то еще ?
|
|||
|---|---|---|---|
|
#18+
Софтинушка написана на java. спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2006, 20:42 |
|
||
|
что выбрать ? SQLServer или DB2 или что то еще ?
|
|||
|---|---|---|---|
|
#18+
Начинающий_002 wrote: > Софтинушка написана на java. "Боже! Одно лицо!" :-) Всё равно посмотрите в сторону bulk copy - в жабе вроде как должны быть интерфейсы. Или попробуйте вызывать процедуру вставки с прибинденными параметрами (вроде бы должно быть возможно). Если такое таки да, возможно - можно рассмотреть вариант, когда одна процедура принимает, скажем 10 наборов параметров - дабы за один round-trip к серверу вставить 10 записей. > спасибо. та не за что, собссно.... зы по результатам - расскажите, плиз, что вышло. Не то чтобы очень сильно, но - для общего развития - интересно. А там - вдруг пригодится знание... Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2006, 21:28 |
|
||
|
что выбрать ? SQLServer или DB2 или что то еще ?
|
|||
|---|---|---|---|
|
#18+
ANT's ADS попробуйте, там самая быстая вставка быстрее небывает, есть новая версия 3.6 Еще можно рекомендовать Oracle + OraLoader Это спецальный механизм для быстрой загрузки записей. В ANT's есть такой же в последней версии сильно ускорен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2006, 13:34 |
|
||
|
что выбрать ? SQLServer или DB2 или что то еще ?
|
|||
|---|---|---|---|
|
#18+
Как это не странно звучит от меня ;-) но может MySQL :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2006, 10:47 |
|
||
|
что выбрать ? SQLServer или DB2 или что то еще ?
|
|||
|---|---|---|---|
|
#18+
Funny_Falcon wrote: > Как это не странно звучит от меня ;-) но может MySQL :-) Да, мускл - это зверь.... Без балды.... Некоторые фичи - в головном мозге не укладываются, можно только вытянуть вдоль спинного.... Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2006, 12:07 |
|
||
|
что выбрать ? SQLServer или DB2 или что то еще ?
|
|||
|---|---|---|---|
|
#18+
Народ ! спасибо огромное всем, Уточняю, :-). Софтинушка под 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 работают вместе и тормоз может быть где-то на стыке. Может кто уже попадал в такую ситуацию ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2006, 19:29 |
|
||
|
что выбрать ? SQLServer или DB2 или что то еще ?
|
|||
|---|---|---|---|
|
#18+
ErikANT's ADS попробуйте, там самая быстая вставка быстрее небывает, есть новая версия 3.6 Еще можно рекомендовать Oracle + OraLoader Это спецальный механизм для быстрой загрузки записей. В ANT's есть такой же в последней версии сильно ускорен. Cache 5.2 вставка 1 000 000 записей за секунду или меньше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2006, 22:14 |
|
||
|
что выбрать ? SQLServer или DB2 или что то еще ?
|
|||
|---|---|---|---|
|
#18+
Начинающий_002за раз - UserTransaction, отправляем 5-60 записей для вставки через bulk insertion(Batch). 1 record == 36 байт, скорость инсерта примерно 1.250 записей в секунду. 1250 записей в секунду выглядит маловато. Что значит bulk insertion(Batch)? Это именно bulk insert, т.е. используется IRowSetFastLoad? или используется команда bulk insert? Или это просто несколько инсертов в одном батче (и тогда это не имеет никакого отношения к bulk insert)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 11:36 |
|
||
|
что выбрать ? SQLServer или DB2 или что то еще ?
|
|||
|---|---|---|---|
|
#18+
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 должен быстро вставлять. И в других БД тоже есть средства быстрой загрузки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 12:20 |
|
||
|
что выбрать ? SQLServer или DB2 или что то еще ?
|
|||
|---|---|---|---|
|
#18+
locky.... и в чем-то Sergey Ch очень даже прав. Более того, запись в обычный бинарный файл даст еще больший прирост... :-) уел... уел... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 13:07 |
|
||
|
что выбрать ? SQLServer или DB2 или что то еще ?
|
|||
|---|---|---|---|
|
#18+
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(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 17:15 |
|
||
|
что выбрать ? SQLServer или DB2 или что то еще ?
|
|||
|---|---|---|---|
|
#18+
Правда драйвер JDBC должен поддерживать batch updates иначе никакого прироста производительности не получить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 17:19 |
|
||
|
что выбрать ? SQLServer или DB2 или что то еще ?
|
|||
|---|---|---|---|
|
#18+
MX -- ALEX ErikANT's ADS попробуйте, там самая быстая вставка быстрее небывает, есть новая версия 3.6 Еще можно рекомендовать Oracle + OraLoader Это спецальный механизм для быстрой загрузки записей. В ANT's есть такой же в последней версии сильно ускорен. Cache 5.2 вставка 1 000 000 записей за секунду или меньше > /dev/nulll Вставка 10 000 000 записей за секунду или меньше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 17:36 |
|
||
|
что выбрать ? SQLServer или DB2 или что то еще ?
|
|||
|---|---|---|---|
|
#18+
DocAl MX -- ALEX ErikANT's ADS попробуйте, там самая быстая вставка быстрее небывает, есть новая версия 3.6 Еще можно рекомендовать Oracle + OraLoader Это спецальный механизм для быстрой загрузки записей. В ANT's есть такой же в последней версии сильно ускорен. Cache 5.2 вставка 1 000 000 записей за секунду или меньше > /dev/nulll Вставка 10 000 000 записей за секунду или меньшеА удаление - ваще мухой летает. Быстрее чем команду на консоль отправляешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 17:50 |
|
||
|
что выбрать ? SQLServer или DB2 или что то еще ?
|
|||
|---|---|---|---|
|
#18+
locky Funny_Falcon wrote: > Как это не странно звучит от меня ;-) но может MySQL :-) Да, мускл - это зверь.... Без балды.... Некоторые фичи - в головном мозге не укладываются, можно только вытянуть вдоль спинного.... Posted via ActualForum NNTP Server 1.3Например?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2006, 16:34 |
|
||
|
что выбрать ? SQLServer или DB2 или что то еще ?
|
|||
|---|---|---|---|
|
#18+
MX -- ALEX Cache 5.2 вставка 1 000 000 записей за секунду или меньше Я тут картики по 20 мег в рекорды вставляю - и как интересно М сможет 20 петабайт за секунду вставить ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2007, 09:56 |
|
||
|
что выбрать ? SQLServer или DB2 или что то еще ?
|
|||
|---|---|---|---|
|
#18+
Lepsik MX -- ALEX Cache 5.2 вставка 1 000 000 записей за секунду или меньше Я тут картики по 20 мег в рекорды вставляю - и как интересно М сможет 20 петабайт за секунду вставить ? сцылку вставит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2007, 10:17 |
|
||
|
что выбрать ? SQLServer или DB2 или что то еще ?
|
|||
|---|---|---|---|
|
#18+
Народ ! ну попытаюсь выдать резюме. Софтинушка работает как зверь, если с SQLServer работать через VB или C#(TSQL). C Java(ой) быстро работать не хочет. Остался "пустяк", уговорить руководство остановиться на одной платформе (NET,J2EE). Всем большое спасибо ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2007, 21:08 |
|
||
|
что выбрать ? SQLServer или DB2 или что то еще ?
|
|||
|---|---|---|---|
|
#18+
начинающий_002 Остался "пустяк", уговорить руководство остановиться на одной платформе (NET,J2EE). А что, руководство хочет остановиться сразу на обеих? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2007, 01:53 |
|
||
|
|

start [/forum/topic.php?fid=35&fpage=32&tid=1553398]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 150ms |

| 0 / 0 |
