Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];

Вниз

Падает скорость Insert на больших объемах   Найти похожие ветки 

 
Fareader   (2002-03-21 12:03) [0]

Доброго всем времени суток!
есть проблема - делаю перекачку данных из одной БД в другую, использую Firebird, компоненты FIBPLUS. Добавляю записи в две таблицы двумя Dataset`ами, после вставки около 15000 записей (общее количество добавленных записей в обе таблицы) скорость добавления постепенно начинает падать.
Что это и чем лечить?


 
Alexandr   (2002-03-21 12:16) [1]

а зачем добавлять с помощью dataset, на просто запрос (TpFIBQuery) использовать.
И еще дело может быть в наличии индексов во таблицах, в которые идет вставка (их лучше предварительно отключить)
А еще в Firebird индекс строится на совсем опимально при массовых вставках, это дело в Yaffil поправлено и там вставка идет быстрее.


 
Fareader   (2002-03-21 12:35) [2]

dataset кешированные, TpFIBQuery использовать неудобно потому что количество полей большое и может измениться мне проще было поставить цикл на перебор полей в dataset. Попробовал делать commit после вставки 7500 записей - не помогло. А если я сделаю выборку, а потом отключу индекс это даст эффект?


 
Fareader   (2002-03-21 12:50) [3]

Каким компонентом можно выполнить несколько SQL команд, например удаление индексов, не меняя свойство SQL?


 
Alexandr   (2002-03-21 12:56) [4]

FIBScript.
Им же можно и вставку делать


 
Fareader   (2002-03-21 13:05) [5]

У меня версия 4.5 я там не нашел такого компонента.


 
Alexandr   (2002-03-21 13:22) [6]

угу. Он отдельно гуляет.
на ib.demo.ru по-моему есть
и у меня есть


 
Fareader   (2002-03-21 13:30) [7]

Можешь залить мне на мыло?


 
Alexandr   (2002-03-21 13:39) [8]

ушло мылом


 
Alexandr   (2002-03-21 13:47) [9]

я этот FIBScript даже сюда в кладовку кидал


 
Fareader   (2002-03-21 14:17) [10]

Спасибо, что залил.


 
Fareader   (2002-03-21 14:39) [11]

Всен равно падает и очень сильно....


 
Fareader   (2002-03-21 14:45) [12]

TpFIBQuery не кешируется? Т.е. это сразу на сервер будет идти? Тогда я такой трафик в сети с ним создам...
Попробовал после каждых 10 000 записей делать commit - не помогло...


 
Alexandr   (2002-03-21 14:56) [13]

Тебе сам датасет нужен или просто insert на сервер гнать?
если датасет нужен - тогда TpFIBdataSet отдельно
обновлять (вставлять) через TpFIBQuery и запрос в нем insert into...

Commit серверу не нужен, он был нужен для BDE. (в смысле после 10000 чтобы не было падения скорости)

Дело скорее всего в проектировании базы данных - индексы, триггеры и пр.,


 
Fareader   (2002-03-21 15:35) [14]

плюнул я на все и ... поставил TpFIBQuery - 96 000 записей залилось за 4 мин без индексов и за 6 мин с индексами.


 
Alexandr   (2002-03-22 06:47) [15]

вот это правильно.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.007 c
1-32846
PEC
2002-03-29 10:05
2002.04.11
Привет народ !


1-32815
zje
2002-04-01 12:07
2002.04.11
Delphi6 и dfm (кодировка unicode)


1-32769
новенький в Делфи
2002-03-30 14:17
2002.04.11
Обработчик событий


14-32963
Blackweber
2002-03-03 01:25
2002.04.11
AND&OR


3-32636
Chainik
2002-03-14 14:41
2002.04.11
Помогите с переносом данных из DBGrid в Excel :((





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский