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

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

вы там у себя никак не родите драйвер для ODAC
а ведь столько лет прошло
Не помню статистику запросов на это. Большинству, видимо, хватает FireDac, dbExpress, Ado
1 сен 18, 01:37    [21660979]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
X11
Member

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

так у него даже без сетки проблема
1 сен 18, 16:52    [21661264]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
white_nigger
Member

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

так у него даже без сетки проблема
в сервермоде мы сами запрос на куски данных формируем. Возможно это решит проблему
1 сен 18, 19:27    [21661324]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
Леонов Юрий
Member

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

так у него даже без сетки проблема
в сервермоде мы сами запрос на куски данных формируем. Возможно это решит проблему


Ну вот я взял к примеру TdxServerModeADOQueryDataSource. В свойстве Connection что должно быть? OraSession туда не подтягивается, значит мне нужно для этого открывать новое соединение с БД? Такое не устраивает, дописывать для себя компонент нет никакого желания.
3 сен 18, 08:35    [21662209]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 12247
Значит пробуй ограничивать SQL выборку с помощью "limit"
3 сен 18, 10:31    [21662355]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
Леонов Юрий
Member

Откуда: Украина, Харьков
Сообщений: 378
X11
Значит пробуй ограничивать SQL выборку с помощью "limit"

в Оракле лимит появлятся только в 12-й версии насколько я знаю, но и это не панацея.
Отобрав лимитом я потом не смогу добраться до всех данных.

Судя по тому, что память приложение не жрет, компонент действительно не фетчит все записи, а только указанное количество.
Меня интересует почему он так долго открывает эти первые записи? В доках по компоненту я не нашел описания этой проблемы, может не там искал...
3 сен 18, 11:15    [21662415]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 29045

мониторить не пробовал?

Posted via ActualForum NNTP Server 1.5

3 сен 18, 11:54    [21662458]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
Леонов Юрий
Member

Откуда: Украина, Харьков
Сообщений: 378
Мимопроходящий
мониторить не пробовал?


Что конкретно вы имеете ввиду под мониторингом?
3 сен 18, 12:24    [21662496]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
JaDi
Member

Откуда: Сызрань, Россия
Сообщений: 3663
Леонов Юрий,

в оракле вместо лимита есть rownum с номером строки, по которому и можно фильтрацию делать
3 сен 18, 12:30    [21662505]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
Леонов Юрий
Member

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

в оракле вместо лимита есть rownum с номером строки, по которому и можно фильтрацию делать


В том то и дело что мне нужен потенциально весь результат отбора. Дополнительных фильтраций не предусмотрено.
Все что нужно отфильтровать в гриде, будет приобщено к запросу и выполнено заново. Или я не о том говорю?
3 сен 18, 12:42    [21662522]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 12247
Леонов Юрий
В том то и дело что мне нужен потенциально весь результат отбора.


В этом-то и проблема. А нужно порциями, ограниченно.
3 сен 18, 13:21    [21662574]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 12247
Нужно автоматизировать или дать пользователю пагинатор, как на сайтах.

SELECT * FROM employees WHERE ROWNUM < 10;


SELECT * FROM employees WHERE ROWNUM > 10 and ROWNUM > 21;
SELECT * FROM employees WHERE ROWNUM > 20 and ROWNUM > 31;

и т.д.
3 сен 18, 13:23    [21662577]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
Леонов Юрий
Member

Откуда: Украина, Харьков
Сообщений: 378
Этот вариант обсуждался и был отвергнут. Нужно чтобы показывалась быстро первая часть данных и при желании пользователя дофетчивались остальные данные блоками.
3 сен 18, 13:29    [21662591]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
zinpub
Member

Откуда:
Сообщений: 218
X11

SELECT * FROM employees WHERE ROWNUM > 10 and ROWNUM > 21;
SELECT * FROM employees WHERE ROWNUM > 20 and ROWNUM > 31;


и т.д.


Эээ... Так нельзя ROWNUM считается по строкам вошедшим в окончательный набор.

Только так как то

SELECT * FROM (SELECT e.*, e.ROWNUM RN FROM employees e) a WHERE RN >10 AND RN < 21
4 сен 18, 08:32    [21663409]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
Леонов Юрий
Member

Откуда: Украина, Харьков
Сообщений: 378
жаль что devart не отслеживает этот вопрос.
Он бы смог рассказать что происходит в его компоненте
4 сен 18, 16:32    [21664360]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
Леонов Юрий
Member

Откуда: Украина, Харьков
Сообщений: 378
А это уже интересно. Снял трассу, по ней вижу что на многомиллионнике EXEC выполняется 2 секунды, все остальное время идет
WAIT #139773341230232: nam='direct path write temp' ...

Но тут решил из запроса убрать бинд-переменную и поставить вместо нее значение. Результат - открывается набор и отображаются записи за секунду. Вот как это понимать?
7 сен 18, 09:38    [21667712]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 12247
Леонов Юрий
Но тут решил из запроса убрать бинд-переменную и поставить вместо нее значение.

это как?
7 сен 18, 14:04    [21668170]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
Леонов Юрий
Member

Откуда: Украина, Харьков
Сообщений: 378
X11
Леонов Юрий
Но тут решил из запроса убрать бинд-переменную и поставить вместо нее значение.

это как?


Был запрос вида
select field1, field2, field3, ... fieldn
  from table t
where t.bank_n = :PBankN

который долго тупил на большом объеме данных.

Запрос вот такого вида
select field1, field2, field3, ... fieldn
  from table t
where t.bank_n = 333333

отрабатывает за секунду с небольшим.

Почему так - я не знаю, мож баг компоненты
7 сен 18, 16:49    [21668410]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
Квейд
Member

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

Prepare вызывал?
7 сен 18, 16:50    [21668413]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
vavan
Member

Откуда: Казань
Сообщений: 3106
Леонов Юрий
Почему так - я не знаю, мож баг компоненты
может статистика ушла вот он и задумался с косым планом. а тут hard parse прошел и с нормальным планом быстро достал
7 сен 18, 17:06    [21668426]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
Gator
Member

Откуда: Москва
Сообщений: 13866
Леонов Юрий
Почему так - я не знаю, мож баг компоненты
Индекс по полю есть? Подключён?
План запроса смотрел? Статистика актуальна?
Сколько одновременных блокировок на таблице?
9 сен 18, 00:21    [21669107]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 12247
Леонов Юрий, это называется "запрос с параметрами"
9 сен 18, 13:16    [21669229]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
Леонов Юрий
Member

Откуда: Украина, Харьков
Сообщений: 378
Скорее всего статистика и тормозит. В проекте используются активно материализованные вьюхи, при удалении данных из таблиц, входящих в нее, рушится статистика, приходится пересобирать. В этот момент я наверное и попал, что статистика не собрана была. Спасибо за подсказку
10 сен 18, 08:44    [21669530]     Ответить | Цитировать Сообщить модератору
 Re: cxGrid + FetchAll + GridMode  [new]
Леонов Юрий
Member

Откуда: Украина, Харьков
Сообщений: 378
Квейд
Леонов Юрий,
Prepare вызывал?
Если имеется ввиду выполнение параметризированого запроса, то да. Но после Prepare переопределял все параметры (DataType, ParamType).
10 сен 18, 09:48    [21669559]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3]      все
Все форумы / Delphi Ответить