powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите ускорить перенос большого объема данных БД -> клиент DELPHI
3 сообщений из 3, страница 1 из 1
Помогите ускорить перенос большого объема данных БД -> клиент DELPHI
    #32007314
Николай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую всех!

Уважаемые коллеги, подскажите, есть ли возможность быстрого переноса данных из SQL Server'a в клиентское приложение?

НД в 178741 запись из 3х значений типа INT переносился в массив 1 час 02 мин 44 сек (!!!)

Я использую компонент ADODataSet, который открывается за считанные секунды.
Перебираю в цикле "пока не EOF" все записи, значения полей которых заношу в массив.
Именно этот процесс и является столь дорогостоящим по времени.
Вот фрагмент свойств компонентов соединения и запроса:
\n object ADOConnection: TADOConnection
ConnectionString =
'Provider=MSDASQL.1;Extended Properties="DRIVER=SQL Server;SERVER' +
'=SERVER;APP=Enterprise;DATABASE=intrsct;Trusted_Connection=Yes"'
LoginPrompt = False
Provider = 'MSDASQL.1'
end
object top2bk: TADOQuery
Connection = ADOConnection
CursorType = ctStatic
LockType = ltBatchOptimistic
ParamCheck = False
Parameters = <>
SQL.Strings = ('select bk_type, t.bk_id, top_id from top2bk t' +
' inner join books b on t.bk_id = b.bk_id order by bk_type, t.bk_id, top_id')
end


Буду признателен
за любые высказанные мысли.
...
Рейтинг: 0 / 0
Помогите ускорить перенос большого объема данных БД -> клиент DELPHI
    #32007323
AnKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На сколько мне кажеться, дорогостоящим является не процесс чтения из базы, а хранение их на локальной станции. С трудом представляю, зачем считывать такое огромное кол-во записей в локальный массив. Может, стоит подумать над нем, чтобы обойти заполнение массива. Наверняка, он потом как-то обрабатывается. Не лучше ли передавать на клиента готовый результат обработки массива. Кроме того настораживает LockType = ltBatchOptimistic. Кроме того, что ты считываешь в массив, ты еще применяешь кеширование?!!!
Я бы поставил LockType = ltOptimistic.

В общем, вот такие мои "любые высказанные мысли".
...
Рейтинг: 0 / 0
Помогите ускорить перенос большого объема данных БД -> клиент DELPHI
    #32007385
Peter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуй
CursorLocation = clUseClient
CursorType = ctOpenForwardOnly
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите ускорить перенос большого объема данных БД -> клиент DELPHI
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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