Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: cxGrid + FetchAll + GridMode  [new]
defecator
Member

Откуда:
Сообщений: 38600
AJi
Леонов Юрий,

А вы не пробовали использовать другой Dataset? Может быть действительно дело в OraQuery, как уже писали выше? Попробуйте на каком-нибудь FireDac.

А до конца сообщение было сложно дочитать ? ))
Леонов Юрий
Аналогично было реализовано на DOA-шных компонентах, все работало четко
31 авг 18, 11:56    [21659981]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
Леонов Юрий
Member

Откуда: Украина, Харьков
Сообщений: 378
JaDi
Леонов Юрий,

потому что в самом оракловском запросе есть сортировка, которая должна выполнится до конца перед возвратом результата на клиент? Можно эту процедуру выполнить в каком-нибудь pl/sql developer'е и посмотреть, насколько быстро появляются первые результаты.


Сам запрос в тестируемом варианте выглядит приблизительно так:
select поле,
         поле,
         ...
         поле
  from вьюха t
 where t.bank_n = :PBankN

никаких сортировок нету.
Выполняю в PSD как запрос - за полторы секунды показывает первые записи.
Если как тестовый скрипт с bind-переменными - секунд 5 думает, потом начинает мотать счетчик отфетченных записей
31 авг 18, 12:00    [21659998]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
AJi
Member

Откуда: Москва
Сообщений: 66
defecator
А до конца сообщение было сложно дочитать ? ))

Мне вообще сложно читать ;-)

Ну если с другим датасетом все работало, то надо или смотреть настройки текущего или вернуться к тому, что было:)
31 авг 18, 12:01    [21660001]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
AJi
Member

Откуда: Москва
Сообщений: 66
Леонов Юрий
Сам запрос в тестируемом варианте выглядит приблизительно так:
select поле,
         поле,
         ...
         поле
  from вьюха t
 where t.bank_n = :PBankN

никаких сортировок нету.
Выполняю в PSD как запрос - за полторы секунды показывает первые записи.
Если как тестовый скрипт с bind-переменными - секунд 5 думает, потом начинает мотать счетчик отфетченных записей

Ну если он пытается отфетчить все записи, то похоже, что в какой-то момент выполняется что-то типа dataset.last. Посмотрите дебаггером что там происходит.
31 авг 18, 12:04    [21660006]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
Леонов Юрий
Member

Откуда: Украина, Харьков
Сообщений: 378
AJi

Ну если с другим датасетом все работало, то надо или смотреть настройки текущего или вернуться к тому, что было:)


Правда? А я тупой, не додумался... А чем мы здесь занимаемся, любезный?
По-моему как раз я и хочу понять, что не так в настройках текущего Датасета.
И если бы не необходимость, я бы, по вашему, стал бы ломать работающее на других компонентах приложение?
Вот реально, зачем писать от балды? Просто ветку марать?
31 авг 18, 12:06    [21660012]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
Леонов Юрий
Member

Откуда: Украина, Харьков
Сообщений: 378
AJi
Ну если он пытается отфетчить все записи, то похоже, что в какой-то момент выполняется что-то типа dataset.last. Посмотрите дебаггером что там происходит.


Кого дебаггером посмотреть? PL/SQL Developer? У вас есть к нему дебаггер?
31 авг 18, 12:08    [21660017]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
AJi
Member

Откуда: Москва
Сообщений: 66
Леонов Юрий
AJi
Ну если он пытается отфетчить все записи, то похоже, что в какой-то момент выполняется что-то типа dataset.last. Посмотрите дебаггером что там происходит.


Кого дебаггером посмотреть? PL/SQL Developer? У вас есть к нему дебаггер?

У вас проблема в PL/SQL Developer? :)
В Delphi запускаете отладку и смотрите, что делает OraQuery
31 авг 18, 12:13    [21660031]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
Леонов Юрий
Member

Откуда: Украина, Харьков
Сообщений: 378
AJi,

походу вы читать написанное не умеете в принципе. Можете вдумчиво цепочку прочитать, чтобы не задавать глупые вопросы?
31 авг 18, 12:14    [21660034]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
JaDi
Member

Откуда: Сызрань, Россия
Сообщений: 3663
Можно еще полазить в настройках датасета и проверить параметры типа ScrollableCursor:
https://www.devart.com/odac/docs/devart.odac.toradatasetoptions.scrollablecursor.htm

А можно отладить датасет и проверить, срабатывает ли у него фетч:
http://www.sql.ru/forum/1175768/sdelat-otobrazhenie-dbgrid-pohozhim-kak-v-plsql-developer
31 авг 18, 12:14    [21660035]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
Леонов Юрий
Member

Откуда: Украина, Харьков
Сообщений: 378
JaDi,

Спасибо за ссылки, буду изучать
31 авг 18, 12:29    [21660075]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
AJi
Member

Откуда: Москва
Сообщений: 66
Леонов Юрий
JaDi,

Спасибо за ссылки, буду изучать


Ну я вам и предлагал отладить датасет и полазить в его настройках, только вы видимо читаете не так вдумчиво, как сами предлагаете:)
Не буду вас больше отвлекать своими глупыми вопросами:)
31 авг 18, 12:34    [21660093]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
Леонов Юрий
Member

Откуда: Украина, Харьков
Сообщений: 378
AJi,

вы в Москве все такие нудные и спесивые? Лично от вас ни одного конструктивного предложения я не услышал, только общие фразы. Оберегайте и лелейте своё эго дальше.
31 авг 18, 14:50    [21660311]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
Леонов Юрий
Member

Откуда: Украина, Харьков
Сообщений: 378
кстати, может это важно, при подключении к БД не используется клиент, а прямой доступ (Direct). Это может тормозить процесс?
31 авг 18, 15:47    [21660408]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
zinpub
Member

Откуда:
Сообщений: 218
Попробуй поставить
QueryRecordCount := True;
31 авг 18, 15:49    [21660420]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
JaDi
Member

Откуда: Сызрань, Россия
Сообщений: 3663
Леонов Юрий
кстати, может это важно, при подключении к БД не используется клиент, а прямой доступ (Direct). Это может тормозить процесс?

Нет. Но могут быть баги или проблемы с подключением (например, старые компоненты к новому серверу или наоборот) -- но это оооочень редко. У ODAC'ов всё очень хорошо и стабильно работает.
31 авг 18, 16:17    [21660466]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 12247
Леонов Юрий
X11,

пробовал по разному. Для чистоты эксперимента создал новый проект, на форме только кнопка.
Жмакаем её, пытаемся выполнить запрос (сессия уже авторизирована). Результат отличается на доли секунд,
средний запрос на 400 тысяч записей выполняется около 10 секунд. Миллионники висят несколько минут.


Если уже пробовал, то зачем включил в тему DevExpress?
31 авг 18, 16:19    [21660473]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 12247
Может проблема в запросе?
Попробуй что-то самое самое простое типа Select ID from table1.
31 авг 18, 16:22    [21660476]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
Леонов Юрий
Member

Откуда: Украина, Харьков
Сообщений: 378
X11,

запрос простой и есть. На маленьком банке быстро вылетает, на большом - долго ждет. Хотя прога память не жрет как если бы все фетчило.
31 авг 18, 16:26    [21660485]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
Леонов Юрий
Member

Откуда: Украина, Харьков
Сообщений: 378
zinpub
Попробуй поставить
QueryRecordCount := True;

И что это даст?
31 авг 18, 16:28    [21660489]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
JaDi
Member

Откуда: Сызрань, Россия
Сообщений: 3663
А еще можно открыть в пл-девелопере список сессий, найти "зависшую" и посмотреть, чем же реально занимается сервер и клиент, на какой именно операции затык.
31 авг 18, 16:30    [21660494]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
zinpub
Member

Откуда:
Сообщений: 218
Леонов Юрий
zinpub
Попробуй поставить
QueryRecordCount := True;

И что это даст?


Это типа "дверями хлопал, по колесам стучал...", возможно он пытается кол-во записей узнать, что и вызывает фуллскан
31 авг 18, 16:35    [21660501]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
Леонов Юрий
Member

Откуда: Украина, Харьков
Сообщений: 378
zinpub
Это типа "дверями хлопал, по колесам стучал...", возможно он пытается кол-во записей узнать, что и вызывает фуллскан

Если поставлю, то он и будет все фетчить, а сейчас - нет. Во время открытия датасета наблюдал за памятью, которая выделена под мое приложение. Слегка увеличилась (предположительно как раз на мои зарезервированные 300 записей) и все... Походу что-то внутри компонента или сессии происходит.
31 авг 18, 16:46    [21660529]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
defecator
Member

Откуда:
Сообщений: 38600
Леонов Юрий
zinpub
Это типа "дверями хлопал, по колесам стучал...", возможно он пытается кол-во записей узнать, что и вызывает фуллскан

Если поставлю, то он и будет все фетчить.

фетчить на клиента он не будет,
а выполнит что-то вроде

select count(*) From
(твой запрос
)

но тоже весьма небыстро
31 авг 18, 18:01    [21660647]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
white_nigger
Member

Откуда: Тула
Сообщений: 1884
Если уж юзаешь DevExpress, то может стоит попробовать ServerMode?
31 авг 18, 18:53    [21660688]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
defecator
Member

Откуда:
Сообщений: 38600
white_nigger
Если уж юзаешь DevExpress, то может стоит попробовать ServerMode?

вы там у себя никак не родите драйвер для ODAC
а ведь столько лет прошло
31 авг 18, 20:03    [21660776]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Delphi Ответить