powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Заполнение таблицы БД
4 сообщений из 4, страница 1 из 1
Заполнение таблицы БД
    #34286951
Sergeyasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Товарищи, доброго врмени суток всем! У меня вопрос, подскажите мне пожалуйста про оптимизированное заполнение базы данных. По слухам я понял что сначала заполняется какой то файл то ли в памяти то ли на диске и только потом загоняется в информикс. И при этом быстродействие в 5 раз больше. Можно поподробнее про этот механизм. Вот что я накопал на яве:
автор
String fileName, String tableж
Runtime r = Runtime.getRuntime();
Process p = null;
try{
String[] rar = {"/bin/sh","-c","cd /usr/informix && . environment && echo \'LOAD FROM "+fileName+" INSERT INTO "+table+";\' | dbaccess dbama -"};
p=r.exec(rar);


То есть передается путь к какому то файлу, и он загоняется в таблицу. Млжно поподробнее. Спасибо.
...
Рейтинг: 0 / 0
Заполнение таблицы БД
    #34288631
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyasaТоварищи, доброго врмени суток всем! У меня вопрос, подскажите мне пожалуйста про оптимизированное заполнение базы данных. По слухам я понял что сначала заполняется какой то файл то ли в памяти то ли на диске и только потом загоняется в информикс. И при этом быстродействие в 5 раз больше. Можно поподробнее про этот механизм. Вот что я накопал на яве:
автор
String fileName, String tableж
Runtime r = Runtime.getRuntime();
Process p = null;
try{
String[] rar = {"/bin/sh","-c","cd /usr/informix && . environment && echo \'LOAD FROM "+fileName+" INSERT INTO "+table+";\' | dbaccess dbama -"};
p=r.exec(rar);


То есть передается путь к какому то файлу, и он загоняется в таблицу. Млжно поподробнее. Спасибо.
Сколько миллиардов строк надо залить? И за сколько минут?
...
Рейтинг: 0 / 0
Заполнение таблицы БД
    #34289023
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Sergeyasa

То что ты написал на яве можно сделать и просто в консоли на сервере, сначала запустив dbaccess а затем уже написав в нем LOAD FROM 'fileName' INSERT INTO tabname;
Еще грузить из текстовых файлов можно с помощью утилиты dbload, которая обеспечивает более гибкое управление загрузкой.

Ускорить загрузку можно с помощью одного или комбинации способов:

- обеспечить монопольный доступ к таблице или ко всей базе (это вообще пункт number one)
- перевести таблицу в raw mode (be careful: индексы для таких таблиц поддерживаются только начиная с IDS 10.00.xC5, в предыдущих версиях индексы придется пересоздавать) и после загрузки снова в standard mode
- отключить транзакции на всей базе (потом снова включить!)
- отключить индексы на загружаемой таблице

Если данных очень много, возможно лучше остановить вообще на время загрузки доступ к базе. И не забыть обновить статистику в таблицах после загрузки.
...
Рейтинг: 0 / 0
Заполнение таблицы БД
    #34291099
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что, HPL (High Performance Loader) уже отменили ?
В таком вот аксепте
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Заполнение таблицы БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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