powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / MSSQL как загрузить большой файл
5 сообщений из 5, страница 1 из 1
MSSQL как загрузить большой файл
    #38920138
jeddite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.
Подскажите пожалуйста, как загрузить большой файл в бд?

Задча следующая:
Есть текстовый файл объемом 500 мб в котором 2 500 000 записей, в каждой записи n-е количество столбцов. требуется считать файл по сети и загрузить выборочные столбцы в БД. требуется делать это максимально быстро.

Пробовал делать в рамках одой транзакции, но тогда растет лог. Если инсертить без транзакции, то получается значительно дольше т.к. комитится каждый инсерт.

bulk insert тоже не подходит так как количествво столбцов может менятся, да и не хотелось бы загружать файл в полностью.

Может кто сталкивался с похожей проблемой.
...
Рейтинг: 0 / 0
MSSQL как загрузить большой файл
    #38920154
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
такое загружается файлом во временную таблицу , а уж потом в нужную только необходимое.
это будет самое быстрое и правильное
...
Рейтинг: 0 / 0
MSSQL как загрузить большой файл
    #38920275
jeddite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя,

Временная таблица имеется ввиду которая #?
А структуру таблицы для загрузки должна совпадать со структурой файла или можно выборочные столбцы загрузить?
...
Рейтинг: 0 / 0
MSSQL как загрузить большой файл
    #38920288
WGA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WGA
Гость
jedditeЗадча следующая:
Есть текстовый файл объемом 500 мб в котором 2 500 000 записей, в каждой записи n-е количество столбцов. требуется считать файл по сети и загрузить выборочные столбцы в БД. требуется делать это максимально быстро.Уже сама постановка кривоватая. Зачем делать переменное количество полей в строке? А потом мужественно преодолевать созданные трудности. Если источник данных свой - исправить, если извне - написать адаптер.jedditebulk insert тоже не подходит так как количествво столбцов может менятся, да и не хотелось бы загружать файл в полностью. Если уж совсем невозможно использовать BULK INSERT, то рекомендации стандартные.
1. Используйте PreparedStatement + JDBC batch .
2. Выполняйте commit после заданного количества операций с базой, например, коммитить каждую 1000 записей.

jedditeПробовал делать в рамках одой транзакции, но тогда растет лог.По секрету скажу, что в нормальных промышленных системах использование recovery model Simple - не есть хорошая практика. И рост лога - вещь нормальная. Ему потом делают truncate и при этом сохраняются все транзакции. Вы же, как понимаю, используете именно Simple . Посмотрите в сторону Bulk logged чтобы минимизировать затраты, если все же надумаете использовать BULK INSERT.
...
Рейтинг: 0 / 0
MSSQL как загрузить большой файл
    #38920293
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jedditeвадя,

Временная таблица имеется ввиду которая #?
А структуру таблицы для загрузки должна совпадать со структурой файла или можно выборочные столбцы загрузить?
1 сейчас уже не помня как у MSSQL временные таблицы обозначаются....
2 это тоже надо в первоисточниках смотреть.
но если и грузить все столбцы - то потом можно селектом скопировать только нужные, ведь для отбора в основную используется какой-то фильтр?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / MSSQL как загрузить большой файл
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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