powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Чем сделать экспорт большой таблицы?
9 сообщений из 9, страница 1 из 1
Чем сделать экспорт большой таблицы?
    #39363851
Marcello
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую!

Есть большая таблица, более 37 млн.строк. Судя по Database Statistics, эта таблица занимает 5.5 Гб, или 44% всего размера БД. Эту таблицу нужно экспортировать в формат CSV. Пробовал запускать экспорт в IBExpert с вкладки Data (без Fetch All конечно), экспорт доходит до 340 тыс.строк примерно и останавливается. Пробовал с помощью ibeblock, как написано тут - тоже некоторое время спустя Out of memory. Есть ли какой-то способ сделать экспорт в CSV или лучше написать свою утилитку с прямым сбросом строк в файл?
...
Рейтинг: 0 / 0
Чем сделать экспорт большой таблицы?
    #39363852
Marcello
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл уточнить: FB 2.5.
...
Рейтинг: 0 / 0
Чем сделать экспорт большой таблицы?
    #39363860
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно применить isql и перенаправить выхлоп в файл.
...
Рейтинг: 0 / 0
Чем сделать экспорт большой таблицы?
    #39363870
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FBExport.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чем сделать экспорт большой таблицы?
    #39363936
Товарищ младший сержант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MarcelloПриветствую!

Есть большая таблица, более 37 млн.строк. Судя по Database Statistics, эта таблица занимает 5.5 Гб, или 44% всего размера БД. Эту таблицу нужно экспортировать в формат CSV. Пробовал запускать экспорт в IBExpert с вкладки Data (без Fetch All конечно), экспорт доходит до 340 тыс.строк примерно и останавливается. Пробовал с помощью ibeblock, как написано тут - тоже некоторое время спустя Out of memory. Есть ли какой-то способ сделать экспорт в CSV или лучше написать свою утилитку с прямым сбросом строк в файл?
Точно-точно csv нужен?
Может, в формате записей фиксированного размера пойдет? Тогда можно создать внешнюю табличку такой же структуры и выбросить
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
Create table ExtTable external file 'c:\Ext'
(
    ID       INTEGER,
    NAME     VARCHAR(250),
...
);
Commit;
insert into ExtTable select * from MyTable;
...
Рейтинг: 0 / 0
Чем сделать экспорт большой таблицы?
    #39363989
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо правильные способы использовать:
http://www.ibexpert.net/ibe/index.php?n=Doc.ScriptExecutive#Output
http://www.ibexpert.net/ibe/index.php?n=Doc.EXPORTASINTO

SELECT ... AS DATASET создает двунаправленный набор данных в памяти клиента. Соответственно, все засасывается и живет там до закрытия датасета.
...
Рейтинг: 0 / 0
Чем сделать экспорт большой таблицы?
    #39364063
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Чем сделать экспорт большой таблицы?
    #39364673
Marcello
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем за советы.
FBExport не подошел, т.к. вместо ,NULL, он возвращает пустоту ,, .
Попробую этот способ , т.к. требуется еще и некоторое форматирование данных для последующего использования, к примеру, дату нужно в виде '%Y-%m-%d' и т.д.
Буду пробовать.
...
Рейтинг: 0 / 0
Чем сделать экспорт большой таблицы?
    #39364681
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Marcello,

гм, да любые средства экспорта вместо NULL в строку пишут "пустоту". Это только если ты сам возьмешь что-нибудь типа
TIBOutputDelimitedFile и для null будешь использовать волшебное слово (пусть даже и само null), как при экспорте, так и при импорте.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Чем сделать экспорт большой таблицы?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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