powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ADO + Postgres - clUseClient или clUseServer?
8 сообщений из 8, страница 1 из 1
ADO + Postgres - clUseClient или clUseServer?
    #40088421
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Читается большой набор данных в Postgres посредством ADOQuery
Код: pascal
1.
2.
3.
4.
5.
6.
    ADOQuery.Sql.Text := ...
    ADOQuery.active:=false;
    ADOQuery.active:=true;
    While not ADOQuery.eof do
      ...пишем в текстовый файл
 



Таких запросов 2, выполняются последовательно, на выходе 2 txt файла соответственно
Вводные:
1. Задача выполняется ночью, одним клиентом, то есть набор данных точно не изменится, следовательно можно readonly
2. Клиент крутится на машине, физически близкой к серверу (ping = 0)

В настоящий момент используется clUseClient и ctKeyset. Но вот что не могу понять. ADOQuery и ADOConnection используются одинаковые, но файлы заполняются с разной скоростью. Так, первый большой файл в 250 МБ формируется около 4 часов, в то время как второй около 50 МБ формируется около 15 минут. Хотя запросы очень отличаются и обращаются к разным полям хотя тех же самых таблиц БД. Как я понимаю второй файл формируется так быстро потому что данные уже были переданы сервера и кэшировались во время выполнения первого запроса и заполнения первого файла. Вот интересно - если поменяю местами запросы, будет ли первый файл (после изменения уже второй) заполнятся в 3 раза быстрее как сейчас второй

В общем итоговый вопрос - для максимального быстродействия - какой лучше использовать CursorLocation - clUseClient или clUseServer? И далее какой CursorType в зависимости от выбранного CursorLocation?
...
Рейтинг: 0 / 0
ADO + Postgres - clUseClient или clUseServer?
    #40088430
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм...поменял местами формирование файлов - ничего не изменилось. Второй файл в очереди (сейчас первый) так и формируется быстро - за 10 минут. Другой файл (в 5 раз больше по размеру) должен по идее формироваться за час, но обычно формируется за 4 часа на том же adoquery и adoconnection. Проверим что будет сейчас
...
Рейтинг: 0 / 0
ADO + Postgres - clUseClient или clUseServer?
    #40088490
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010,

Я так понимаю, что ты сравниваешь разные курсоры на разных запросах?
И в чём смысл?

я бы понял, если ты сравнивал производительность разных курсоров на одном и том же запросе...
...
Рейтинг: 0 / 0
ADO + Postgres - clUseClient или clUseServer?
    #40088499
Gerasimenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010,

не тянуть сову на глобус...

...
Рейтинг: 0 / 0
ADO + Postgres - clUseClient или clUseServer?
    #40088503
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cobalt747,
нет - пока сравниваю один курсор (client) на разных запросах
server пока вообще не пробовал - вот сейчас наверное проверю
...
Рейтинг: 0 / 0
ADO + Postgres - clUseClient или clUseServer?
    #40088504
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gerasimenko,
не все так просто. поля полученного dataset определенным образом обрабатываются
командами Delphi прежде чем кладутся в файл. Не уверен что получится то же самое делать непосредственно в запросе.
Да и что это глобально даст? Неужели напрямую из запроса в текстовый файл будет сохраняться быстрее?
...
Рейтинг: 0 / 0
ADO + Postgres - clUseClient или clUseServer?
    #40088505
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сейчас кстати новая проблема вылезла, которой раньше не было - большой файл (который около 250 МБ) не записывается до конца - то 150 МБ, то сейчас вообще 40 - похоже postgres сбрасывает соединение. Интересно, если поменять курсор на server - поможет ли решить хотя бы эту проблему
...
Рейтинг: 0 / 0
ADO + Postgres - clUseClient или clUseServer?
    #40088512
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Смена курсора на server дала отличные результаты - файл который формировался 4 часа сформировался за 10 минут
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ADO + Postgres - clUseClient или clUseServer?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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