powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Что быстрее?
25 сообщений из 67, страница 1 из 3
Что быстрее?
    #39408409
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите.
Нужно в базу вставить около 10млн. строк из нескольких ДБФ. (58 столбцов с типами numeric, integer, varchar (максимум 30))
Что быстрее отработает:
1. Написать маленькую программу с Фибами на вставку, с комитом каждые 5-10 тыс.
2. Воспользоваться IBExpert.

--------------------------
Firebird 3.0.1.32609;
IBExpert 2017.2.7.1;
Windows 10 32-bit;
4Gb RAM;
SSD 512Mb + HDD 1 Tb;
Настройки по умолчанию
...
Рейтинг: 0 / 0
Что быстрее?
    #39408410
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДБФ файлов около 15
...
Рейтинг: 0 / 0
Что быстрее?
    #39408411
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пользуйся экспертом.
не занимайся программизмом.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Что быстрее?
    #39408453
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий> пользуйся экспертом.
> не занимайся программизмом.

+1

При чём не сразу миллион, а "отладь"
все настройки для 100 строк, а потом
уже запускай молотить и пей чай.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Что быстрее?
    #39408458
stelvic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то читал, что самый быстрый способ перелить данные из дбф в фб - откусить заголовок от дбф и подключить его как внешнюю таблицу. Тут нужно знать точную структуру дбф и создать соответствующую внешнюю таблицу в базе. Затем подсунуть в нужное место дбф без заголовка. И дальше можно переливать данные читая из одной таблицы и инсертя в другую. Сразу говорю - сам так не пробовал.
...
Рейтинг: 0 / 0
Что быстрее?
    #39408462
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Stelvic!
You wrote on 21 февраля 2017 г. 13:28:13:

Stelvic> откусить заголовок от дбф и подключить его как внешнюю таблицу.
> Тут нужно знать точную структуру...тут нужно знать ТС!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Что быстрее?
    #39408478
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stelvic,

Это когда больше одного раза требуется.
Временные затраты на подготовку такой заливки (без опыта такой заливки и заготовок) требуются значительно большие, чем разобраться в IBExpert + собственно залить эти десяток миллионов записей.
...
Рейтинг: 0 / 0
Что быстрее?
    #39408494
stelvic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery,

Согласен. Имело смысл уточнить.
...
Рейтинг: 0 / 0
Что быстрее?
    #39408650
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как сказать разово-неразово.
Вроде как разово, но сижу занимаюсь этим уже 2 недели.
Каждый день по несколько файлов вливаю.
10млн. это самые большие, есть и по 100тыс.

Ладно, я понял. Всем спасибо что откликнулись.
Подскажите еще, на последок:
Есть SQL скрипт с execute ibeblock на импорт.
Можно ли в скрипте задать названия таблиц, файлов, и некоторых текстовых данных как переменные, чтобы потом использовать в блоке импорта и подставлять как значение-константа в селекте.
Если да - то как.
...
Рейтинг: 0 / 0
Что быстрее?
    #39408667
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrushскрипт с execute ibeblock на импорт.
ibeblock это ibescript, в его доке и смотри.
...
Рейтинг: 0 / 0
Что быстрее?
    #39409435
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если кому-то интересно
сегодня обрезал импорт ДБФ до минимума, 16 полей (исходный дбф так и остался с 58 полями).
На делфи хе2 + фибы написал програмку которая создает скрипт и каждые 50тыс. строк записывает в базу.
4 888 089 строк импортировались за 18мин.42сек.
причем это импорт из белее 1800файлов.

Завтра объеденю их в один дбф и попробую тоже самое экспертом. результат напишу
...
Рейтинг: 0 / 0
Что быстрее?
    #39409493
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал урезанный импорт средствами Эксперта.
На момент написания поста из 2,4млн записей за 18 минут обработано только 600тыс.

Так что прирост очевиден.

Небольшое пояснение в предыдущему посту про формирование скрипта:
Формировался скрипт на вставку записей
insert into ...() values ()
и каждые 50тыс. выполнялся скрипт, комитился, очищался и по новой.
...
Рейтинг: 0 / 0
Что быстрее?
    #39409495
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrush,
все понимаю кроме одного
зачем скрипт формировать
тогда уж сразу в базу
...
Рейтинг: 0 / 0
Что быстрее?
    #39409518
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7m,
Пробовал.
Дольше раза в 3. Как в эксперте.
А через скрипт в разы быстрее
...
Рейтинг: 0 / 0
Что быстрее?
    #39409520
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrushПробовал.
Дольше раза в 3Что ты пробовал ???
...
Рейтинг: 0 / 0
Что быстрее?
    #39409521
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,
Пробовал через Dataset сразу писать в таблицу.
Автокомит отключен.
Получается дольше.
...
Рейтинг: 0 / 0
Что быстрее?
    #39409522
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrushm7m,
Пробовал.
Дольше раза в 3. Как в эксперте.
А через скрипт в разы быстрее
Так не бывает
Вернее бывает, но тогда что-то не так
...
Рейтинг: 0 / 0
Что быстрее?
    #39409523
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7m,
Согласен. Когда закончу, просто уже на голове сидят, перепроверю заново.
О результатах отпишусь.
...
Рейтинг: 0 / 0
Что быстрее?
    #39409524
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrushhvlad,
Пробовал через Dataset сразу писать в таблицу.
Автокомит отключен.
Получается дольше.
Попробуй без Dataset'а
...
Рейтинг: 0 / 0
Что быстрее?
    #39409525
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Что быстрее?
    #39409528
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrushПробовал через Dataset сразу писать в таблицу.Учи SQL, не датасеты.
// Их тоже учи, но потом.
Сначала - SQL.
Потом найди компонент, который его выполняет (не датасет).
Найди в нём параметры и метод prepare.
Используй их.
...
Рейтинг: 0 / 0
Что быстрее?
    #39409530
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,
Фибы так и делают.
на вставку используют insert into ...() values ()
с параметрами.
Но даже передача параметром идет дольше чем сформировать скрипт с инсертами и его выполнить.
...
Рейтинг: 0 / 0
Что быстрее?
    #39409535
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrush,

сказки не нужно рассказывать.

PS Могу предположить, что датасет перечитывает данные после вставок.
Или что там отдельная тр-ция для вставок с автокоммитом.
Или ещё какая-нибудь причина по которой не "фибы так и делают"
...
Рейтинг: 0 / 0
Что быстрее?
    #39409549
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,
Влад, извините сразу недошло
Попробую без датасета
...
Рейтинг: 0 / 0
Что быстрее?
    #39409557
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrushВлад, извините сразу недошло
Попробую без датасетаТут не за что извиняться :)
Удачи
...
Рейтинг: 0 / 0
25 сообщений из 67, страница 1 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Что быстрее?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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