Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.12.2014, 11:12
svl_sumy svl_sumy вне форума
Прохожий
 
Регистрация: 19.08.2014
Сообщения: 2
Версия Delphi: Delphi 7
Репутация: 10
Восклицание Падает скорость при експорте данных из SQL в dbf

Доброго времени суток!

Есть таблица SQL 2005, из неё данные вот таким кодом переношу в dbf.
Записей около 1000000. Так вот сначала выгрузка идет шустро процентов до 20, но дальше чем ближе к концу - всё медленее и медленне. Что может быть куда копать??

Код:
        SQUery.SQL.Clear;
        SQuery.SQL.Append('Select * from Services');
        SQuery.Active:=true;

        if SQuery.RecordCount>0 then
        begin

        SQuery.First;

            while not SQuery.Eof do
            begin
            Tbl.Append;
            Tbl['ID']:=(SQuery['TID']);
            Tbl['RecvID']:=(SQuery['Receiver']);
            Tbl['Purpose']:=(SQuery['Nazn']);
            Tbl['MinKomis']:=(SQuery['Komission']);
            Tbl['KomPercent']:=(SQuery['Percent']);
            Tbl['DefMoney']:=(SQuery['DefMoney']);
            Tbl['IsKomPayer']:=(SQuery['KomissionPayer']);
            Tbl['ExtCode']:=(SQuery['ExternalCode']);
            Tbl['DeleteFlag']:=(SQuery['DeleteFlag']);
            Tbl['Symbol']:=(SQuery['Symbol']);
            Tbl['PayerType']:=(SQuery['PayerType']);
            Tbl['SyncId']:=(SQuery['Sync']);
            Tbl.Post;

            SQuery.Next;
            end;
        end;

Последний раз редактировалось svl_sumy, 18.12.2014 в 11:22.
Ответить с цитированием
  #2  
Старый 18.12.2014, 17:26
Аватар для Freeman
Freeman Freeman вне форума
Местный
 
Регистрация: 05.10.2012
Адрес: Санкт-Петербург
Сообщения: 576
Версия Delphi: 6
Репутация: выкл
По умолчанию

У SQL Server выставить CursorType = ctOpenForwardOnly, можно еще LockType = ltReadOnly. CacheSize можно у обоих увеличить.
__________________
Не стоит путать форумы с богадельнями. © Bargest
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 10:36.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter