|
Что быстрее?
|
|||
---|---|---|---|
#18+
Подскажите. Нужно в базу вставить около 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; Настройки по умолчанию ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2017, 12:06 |
|
Что быстрее?
|
|||
---|---|---|---|
#18+
пользуйся экспертом. не занимайся программизмом. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2017, 12:08 |
|
Что быстрее?
|
|||
---|---|---|---|
#18+
Мимопроходящий> пользуйся экспертом. > не занимайся программизмом. +1 При чём не сразу миллион, а "отладь" все настройки для 100 строк, а потом уже запускай молотить и пей чай. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2017, 13:16 |
|
Что быстрее?
|
|||
---|---|---|---|
#18+
Где-то читал, что самый быстрый способ перелить данные из дбф в фб - откусить заголовок от дбф и подключить его как внешнюю таблицу. Тут нужно знать точную структуру дбф и создать соответствующую внешнюю таблицу в базе. Затем подсунуть в нужное место дбф без заголовка. И дальше можно переливать данные читая из одной таблицы и инсертя в другую. Сразу говорю - сам так не пробовал. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2017, 13:22 |
|
Что быстрее?
|
|||
---|---|---|---|
#18+
Hello, Stelvic! You wrote on 21 февраля 2017 г. 13:28:13: Stelvic> откусить заголовок от дбф и подключить его как внешнюю таблицу. > Тут нужно знать точную структуру...тут нужно знать ТС! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2017, 13:28 |
|
Что быстрее?
|
|||
---|---|---|---|
#18+
stelvic, Это когда больше одного раза требуется. Временные затраты на подготовку такой заливки (без опыта такой заливки и заготовок) требуются значительно большие, чем разобраться в IBExpert + собственно залить эти десяток миллионов записей. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2017, 13:57 |
|
Что быстрее?
|
|||
---|---|---|---|
#18+
WildSery, Согласен. Имело смысл уточнить. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2017, 14:17 |
|
Что быстрее?
|
|||
---|---|---|---|
#18+
Как сказать разово-неразово. Вроде как разово, но сижу занимаюсь этим уже 2 недели. Каждый день по несколько файлов вливаю. 10млн. это самые большие, есть и по 100тыс. Ладно, я понял. Всем спасибо что откликнулись. Подскажите еще, на последок: Есть SQL скрипт с execute ibeblock на импорт. Можно ли в скрипте задать названия таблиц, файлов, и некоторых текстовых данных как переменные, чтобы потом использовать в блоке импорта и подставлять как значение-константа в селекте. Если да - то как. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2017, 17:23 |
|
Что быстрее?
|
|||
---|---|---|---|
#18+
akrushскрипт с execute ibeblock на импорт. ibeblock это ibescript, в его доке и смотри. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2017, 17:44 |
|
Что быстрее?
|
|||
---|---|---|---|
#18+
Если кому-то интересно сегодня обрезал импорт ДБФ до минимума, 16 полей (исходный дбф так и остался с 58 полями). На делфи хе2 + фибы написал програмку которая создает скрипт и каждые 50тыс. строк записывает в базу. 4 888 089 строк импортировались за 18мин.42сек. причем это импорт из белее 1800файлов. Завтра объеденю их в один дбф и попробую тоже самое экспертом. результат напишу ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2017, 23:45 |
|
Что быстрее?
|
|||
---|---|---|---|
#18+
Попробовал урезанный импорт средствами Эксперта. На момент написания поста из 2,4млн записей за 18 минут обработано только 600тыс. Так что прирост очевиден. Небольшое пояснение в предыдущему посту про формирование скрипта: Формировался скрипт на вставку записей insert into ...() values () и каждые 50тыс. выполнялся скрипт, комитился, очищался и по новой. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2017, 09:46 |
|
Что быстрее?
|
|||
---|---|---|---|
#18+
akrush, все понимаю кроме одного зачем скрипт формировать тогда уж сразу в базу ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2017, 09:48 |
|
Что быстрее?
|
|||
---|---|---|---|
#18+
m7m, Пробовал. Дольше раза в 3. Как в эксперте. А через скрипт в разы быстрее ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2017, 11:33 |
|
Что быстрее?
|
|||
---|---|---|---|
#18+
akrushПробовал. Дольше раза в 3Что ты пробовал ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2017, 11:37 |
|
Что быстрее?
|
|||
---|---|---|---|
#18+
hvlad, Пробовал через Dataset сразу писать в таблицу. Автокомит отключен. Получается дольше. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2017, 11:39 |
|
Что быстрее?
|
|||
---|---|---|---|
#18+
akrushm7m, Пробовал. Дольше раза в 3. Как в эксперте. А через скрипт в разы быстрее Так не бывает Вернее бывает, но тогда что-то не так ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2017, 11:40 |
|
Что быстрее?
|
|||
---|---|---|---|
#18+
m7m, Согласен. Когда закончу, просто уже на голове сидят, перепроверю заново. О результатах отпишусь. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2017, 11:42 |
|
Что быстрее?
|
|||
---|---|---|---|
#18+
akrushhvlad, Пробовал через Dataset сразу писать в таблицу. Автокомит отключен. Получается дольше. Попробуй без Dataset'а ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2017, 11:43 |
|
Что быстрее?
|
|||
---|---|---|---|
#18+
akrush, http://www.ibase.ru/impexp/ ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2017, 11:44 |
|
Что быстрее?
|
|||
---|---|---|---|
#18+
akrushПробовал через Dataset сразу писать в таблицу.Учи SQL, не датасеты. // Их тоже учи, но потом. Сначала - SQL. Потом найди компонент, который его выполняет (не датасет). Найди в нём параметры и метод prepare. Используй их. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2017, 11:57 |
|
Что быстрее?
|
|||
---|---|---|---|
#18+
hvlad, Фибы так и делают. на вставку используют insert into ...() values () с параметрами. Но даже передача параметром идет дольше чем сформировать скрипт с инсертами и его выполнить. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2017, 12:00 |
|
Что быстрее?
|
|||
---|---|---|---|
#18+
akrush, сказки не нужно рассказывать. PS Могу предположить, что датасет перечитывает данные после вставок. Или что там отдельная тр-ция для вставок с автокоммитом. Или ещё какая-нибудь причина по которой не "фибы так и делают" ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2017, 12:19 |
|
Что быстрее?
|
|||
---|---|---|---|
#18+
hvlad, Влад, извините сразу недошло Попробую без датасета ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2017, 13:06 |
|
|
start [/forum/topic.php?fid=40&msg=39409495&tid=1561695]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
7ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 152ms |
0 / 0 |