Заливка данных

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
s999
Сообщения: 4
Зарегистрирован: 19 дек 2007, 12:48

Заливка данных

Сообщение s999 » 19 дек 2007, 13:09

Здравствуйте.

Очень длительное время не работал с FB/IB, поэтому много забыл, а мог и не знать :wink:

В данный момент хочется получить наиболее полные рекомендации по оптимизации скорости заливки приличных объемов данных в FB. В данный момент пробую 2.0.3., клиент fibplus 6.3. Поиск по этому вопросу обычно "выбрасывает" рекомендации Деда начинающим параметризовать запросы :) Мне бы хотелось услышать более детальные рекомендации. Буду также признателен за полезные ссылки по данной проблематике.

Спасибо.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 19 дек 2007, 15:07


s999
Сообщения: 4
Зарегистрирован: 19 дек 2007, 12:48

Сообщение s999 » 19 дек 2007, 15:56

Спасибо.

Пожалуй, у меня еще вопросы остаются. Сейчас актино "играюсь" с вариантами "просто insert в цикле" и "внешняя таблица". И что удивительно внешняя таблица даже проигрывает. Правда, у меня есть поля типа VARCHAR(512), отсюда и файл получается... хороший. Плюс из-за NULL-ов хитреш... Но, все-равно, от внешних таблиц ждал большего...

Кстати, интересный факт. Тот же объем, из того же приложения вставляется в Oracle 9.2.0.8, DOA, той же техникой (insert в цикле) примерно на 25% быстрее. FB и Oracle стоят на примерно одинаковых по производительности машинах. То есть FB "проигрывает" не так уж много, но.. Есть ли еще ресурсы оптимизации? По замыслу FB будет играть роль некоторого "перекидывальщика" данных - залил, держит, "отдает" в том же объеме другим, кэш-сервер, какие могут быть оптимальные настройки для этой ситуации?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 19 дек 2007, 16:14

По замыслу FB будет играть роль некоторого "перекидывальщика" данных - залил, держит, "отдает" в том же объеме другим, кэш-сервер, какие могут быть оптимальные настройки для этой ситуации?
любые настройки делаются экспериментально.
насчет "кэш-сервера" - херово. Не совсем это подходящая задача для версионника.
Бери MySQL или вообще DBF.

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 19 дек 2007, 16:22

s999 писал(а):Сейчас актино "играюсь" с вариантами "просто insert в цикле" и "внешняя таблица".
По сети гоняешь или локально?
execute block с пачкой инсертов за раз тоже можно опробовать.

s999
Сообщения: 4
Зарегистрирован: 19 дек 2007, 12:48

Сообщение s999 » 19 дек 2007, 16:32

kdv писал(а):любые настройки делаются экспериментально.
Ok. Будем эксперементировать.
kdv писал(а): насчет "кэш-сервера" - херово. Не совсем это подходящая задача для версионника.
Бери MySQL или вообще DBF.
Изначально делалось на "чистых" ClientDataSets трехзвенкой, но отсутствие sql в среднем звене все-таки стало недостатком. MySQL тоже рассматривался, но там что-то лицензия какая-то стала :) Точно не знаю, но что-то не понравилось.

А "большая заливка" в нашем случае вещь однократная, далее планируется по дельте изменений действовать, поэтому версионность все-таки не столь здесь критична... Решили FB попробовать.

Ok. Буду продолжать пробовать.

s999
Сообщения: 4
Зарегистрирован: 19 дек 2007, 12:48

Сообщение s999 » 19 дек 2007, 16:37

WildSery писал(а):По сети гоняешь или локально?
execute block с пачкой инсертов за раз тоже можно опробовать.
И так и так (Оракл только в сети). А вот про про новинки типа execute block можно чуть подробней, как я говорил, "меня не было" очень долго :)

А вообще по задумке FB будет работать только с App-сервером, который стоит на той же машине.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 19 дек 2007, 17:06

А вот про про новинки типа execute block можно чуть подробней
поподробней - в релизнотах.

Ответить