powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ServerMode и несколько миллионов записей
70 сообщений из 70, показаны все 3 страниц
ServerMode и несколько миллионов записей
    #39565062
Леонов Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня, уважаемые гуру!

Давно стоит проблема, но всё откладывалась на потом. И вот этот "потом" настал.
Есть среда Embarcadero XE5, есть Oracle версии 11.2.0.4.0. Доступ к базе построен на компонентах DOA. Есть установленный набор компонент от DevExpress 14.1.3. Имеется форма с одним cxGrid, в котором нужно открыть DataSet с количеством записей от 1.5 до 3 миллионов.
Сразу предупреждаю, я читал уже похожие вопросы и отдаю себе отчет, что конечному пользователю нужен весь набор данных. Фильтрация, выгрузка в Excel и т.п.
Суть в том, что в ServerMode режиме полуторамиллионник открывается около 7 минут. Просто, без сумматоров в футере. Это непозволительно долго. На обычном встроенном DBGrid открываются влет первые N записей (при установке ReadBuffer = N и QueryAllRecords = False) за секунду с возможностью подкачки (до определенного предела).

А теперь вопрос:
Можно ли настроить cxGrid, чтобы он открывал сразу набор, а только потом высасывал по необходимости данные. Стоит задача открывать данные быстро.

Заранее благодарю за конструктив
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565065
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Леонов ЮрийДоброго дня, уважаемые гуру!

Давно стоит проблема, но всё откладывалась на потом. И вот этот "потом" настал.
Есть среда Embarcadero XE5, есть Oracle версии 11.2.0.4.0. Доступ к базе построен на компонентах DOA. Есть установленный набор компонент от DevExpress 14.1.3. Имеется форма с одним cxGrid, в котором нужно открыть DataSet с количеством записей от 1.5 до 3 миллионов.
Сразу предупреждаю, я читал уже похожие вопросы и отдаю себе отчет, что конечному пользователю нужен весь набор данных. Фильтрация, выгрузка в Excel и т.п.
Суть в том, что в ServerMode режиме полуторамиллионник открывается около 7 минут. Просто, без сумматоров в футере. Это непозволительно долго. На обычном встроенном DBGrid открываются влет первые N записей (при установке ReadBuffer = N и QueryAllRecords = False) за секунду с возможностью подкачки (до определенного предела).

А теперь вопрос:
Можно ли настроить cxGrid, чтобы он открывал сразу набор, а только потом высасывал по необходимости данные. Стоит задача открывать данные быстро.

Заранее благодарю за конструктив
SmartReload/SmartRefresh ?
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565073
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
юра, а зачем тебе СТОЛЬКО данных?
(я серьёзно)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565099
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийюра, а зачем тебе СТОЛЬКО данных?
(я серьёзно)

+1.

2ТС: попытайся структурировать данные и показать их (например) в виде дерева.
Список строений, к примеру, отлично раскладывается по улицам, улицы - по городам и т.д.
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565101
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ServerMode требует специальной поддержки от датасет-компонента (посмотрел сейчас доки, в 14 версии нет поддержки doa (delphi oracle access). Возможно, необходим фетчинг данных -- когда курсор с данными остается открытым на сервере, а программа грузит их по мере надобности движения по списку. Для последнего нужно включить GridMode. И при его включении итоги в колонках перестанут работать. В общем, можно просто в справке сделать поиск по "servermode" и "gridmode", там есть подробные инструкции по настройке.
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565103
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
чччДМимопроходящийюра, а зачем тебе СТОЛЬКО данных?
(я серьёзно)

+1.

2ТС: попытайся структурировать данные и показать их (например) в виде дерева.
Список строений, к примеру, отлично раскладывается по улицам, улицы - по городам и т.д.

у него случай выгрузки данных в Excel для дальнейшего анализа.
Не вижу криминала в выгрузке полутора лямов строк на клиента
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565107
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiServerMode требует специальной поддержки от датасет-компонента (посмотрел сейчас доки, в 14 версии нет поддержки doa (delphi oracle access). Возможно, необходим фетчинг данных -- когда курсор с данными остается открытым на сервере, а программа грузит их по мере надобности движения по списку. Для последнего нужно включить GridMode. И при его включении итоги в колонках перестанут работать. В общем, можно просто в справке сделать поиск по "servermode" и "gridmode", там есть подробные инструкции по настройке.
Какие уж тут итоги (да и фильтры на клиенте), если тащит такие объемы данных.
...
2 ТА: имхо, проще всего запитать грид от TcxCustomDataSet. Тут уж что напишешь - все твое. Можно, например, подгружать реальные данные только тогда, когда грид их запросит.
Но тут тоже самое - все подсчеты "на лету" и фильтрацию средствами грида придется ручками обрабатывать - например, формируя запросы к серверу.
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565108
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
06.12.2017 14:39, defecator пишет:
> у него случай выгрузки данных в Excel для дальнейшего анализа.
> Не вижу криминала в выгрузке полутора лямов строк на клиента

ну а "за щекой" то их зачем держать?
если это конечно не сила привычки...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565110
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorчччДпропущено...

+1.

2ТС: попытайся структурировать данные и показать их (например) в виде дерева.
Список строений, к примеру, отлично раскладывается по улицам, улицы - по городам и т.д.

у него случай выгрузки данных в Excel для дальнейшего анализа.
Не вижу криминала в выгрузке полутора лямов строк на клиента
Для выгрузки в иксель зачем все сразу тащить?
...
И что там у него за строки еще - пара килобайт на строку - вот и съели всю оперативку.
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565113
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
чччДdefecatorпропущено...


у него случай выгрузки данных в Excel для дальнейшего анализа.
Не вижу криминала в выгрузке полутора лямов строк на клиента
Для выгрузки в иксель зачем все сразу тащить?
...
И что там у него за строки еще - пара килобайт на строку - вот и съели всю оперативку.
в DOA, в отличие от ODAC, с оперативкой всё плохо - очень прожорливый этот DOA.
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565119
Леонов Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийюра, а зачем тебе СТОЛЬКО данных?
(я серьёзно)


Финансовая организация, народ специфический, им нужен весь набор, по которому можно делать фильтры, сортировки и т.п. хрень. Мое предложение в виде предформы, на которой можно было бы настроить нужный фильтр, было отвергнуто. Лично мне СТОЛЬКО данных и в пупок не впирались))
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565129
Фотография шК0ДЕР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леонов ЮрийМимопроходящийюра, а зачем тебе СТОЛЬКО данных?
(я серьёзно)


Финансовая организация, народ специфический, им нужен весь набор, по которому можно делать фильтры, сортировки и т.п. хрень. Мое предложение в виде предформы, на которой можно было бы настроить нужный фильтр, было отвергнуто. Лично мне СТОЛЬКО данных и в пупок не впирались))

Чтото я сомневаюсь, что они будут листать весь миллион записей...
Может пользователи не поняли про предформу и им нужно внятнее объяснить, на простом для них языке :)
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565130
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
06.12.2017 14:47, Леонов Юрий пишет:
>
> Финансовая организация, народ специфический, им нужен весь набор, по которому можно делать фильтры, сортировки и т.п. хрень.

весь набор хранится НА СЕРВЕРЕ.

YouTube Video
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565134
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леонов ЮрийМимопроходящийюра, а зачем тебе СТОЛЬКО данных?
(я серьёзно)


Финансовая организация, народ специфический, им нужен весь набор, по которому можно делать фильтры, сортировки и т.п. хрень. Мое предложение в виде предформы, на которой можно было бы настроить нужный фильтр, было отвергнуто. Лично мне СТОЛЬКО данных и в пупок не впирались))

Ну, пусть ждут.
Я как-то в одной конторке изменил базовый принцип работы со списками. Сперва открываешь грид - а там пусто. Пока не укажешь фильтр. Если указал "хочу весь интернет все" - ну и жди, сам захотел.

На вопрос "...э?" ответил - "вы в интернете все сразу видите, или что попросите?"
Конечно, сперва с директором согласовал.

Так и работают.
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565135
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Excel столько строк не вытянет
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565138
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
DimaBr Excel столько строк не вытянет

на одной странице - миллион
а страниц может быть 65 тыщ
вытянет
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565140
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
06.12.2017 14:57, DimaBr пишет:
> Excel столько строк не вытянет

они ж вродь уже и х64 сподобились выпустить
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565156
Леонов Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiServerMode требует специальной поддержки от датасет-компонента (посмотрел сейчас доки, в 14 версии нет поддержки doa (delphi oracle access).

есть самописный компонент, потомок TdxServerModeDataSource. Сделан по аналогии с TdxServerModeADODataSource. Разница только в подключении к БД.

JaDiВозможно, необходим фетчинг данных -- когда курсор с данными остается открытым на сервере, а программа грузит их по мере надобности движения по списку. Для последнего нужно включить GridMode. И при его включении итоги в колонках перестанут работать. В общем, можно просто в справке сделать поиск по "servermode" и "gridmode", там есть подробные инструкции по настройке.

Это для обычного грида? Кроме итогов не работает и фильтрация с сортировкой. Хотя в целом вариант очень даже жизнеспособный. Причесать код придется сильно, но эффект выходит хороший. Спасибо огромное))
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565157
Леонов Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr, XLSX нормально тянет
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565159
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
06.12.2017 15:16, Леонов Юрий пишет:
> XLSX нормально тянет

ой как всё запущено....
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565161
Леонов Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
шК0ДЕР
Чтото я сомневаюсь, что они будут листать весь миллион записей...
Может пользователи не поняли про предформу и им нужно внятнее объяснить, на простом для них языке :)

Что можно объяснить людям, которые на просьбу скинуть скрин формы ФОТОГРАФИРУЮТ ее на телефон а потом выкладывают в скайп?
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565162
рррЗ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimaBr Excel столько строк не вытянет
Ты сам-то свою ссылку открывал?
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565173
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леонов ЮрийМимопроходящийюра, а зачем тебе СТОЛЬКО данных?
(я серьёзно)


Финансовая организация, народ специфический, им нужен весь набор, по которому можно делать фильтры, сортировки и т.п. хрень. Мое предложение в виде предформы, на которой можно было бы настроить нужный фильтр, было отвергнуто. Лично мне СТОЛЬКО данных и в пупок не впирались))

Юрий, объясни своим специфическим людям, что если некто начнет просматривать по одной записи в секунду, то для просмотра всего набора из миллиона записей человеку понадобится 12 дней непрерывного времени.
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565175
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
КвейдЛеонов Юрийпропущено...


Финансовая организация, народ специфический, им нужен весь набор, по которому можно делать фильтры, сортировки и т.п. хрень. Мое предложение в виде предформы, на которой можно было бы настроить нужный фильтр, было отвергнуто. Лично мне СТОЛЬКО данных и в пупок не впирались))

Юрий, объясни своим специфическим людям, что если некто начнет просматривать по одной записи в секунду, то для просмотра всего набора из миллиона записей человеку понадобится 12 дней непрерывного времени.
а им не надо просматривать ВСЕ записи.
Они в Excel строят аналитику, а для этого нужны все возможные записи
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565176
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
рррЗDimaBr Excel столько строк не вытянет
Ты сам-то свою ссылку открывал?


ТС надо полтора миллиона записей.
А на листе только миллион

Другое дело, что листов может быть 65 тыщ )))
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565177
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
06.12.2017 15:33, Квейд пишет:
> Юрий, объясни своим специфическим людям, что если некто начнет просматривать по одной записи в секунду,
> то для просмотра *всего набора* из миллиона записей человеку понадобится 12 дней непрерывного времени.

имхо, проблема тут не только в заказчике.
проблема ещё и в том, что Юра не видит иных путей для достижения цели,
окромя как использовать встроенные в этот аляповатый грид средства фильтрации, сортировки, агрегации...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565179
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
06.12.2017 15:34, defecator пишет:
> Они в Excel строят аналитику

пивной ларёк Ltd
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565183
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К слову, эксель может и сам напрямую к источникам данных подключаться, в т.ч. к базам данных.
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565185
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
06.12.2017 15:40, JaDi пишет:
> К слову, эксель может и сам напрямую к источникам данных подключаться, в т.ч. к базам данных.

сам напрямую не может.
только через ODBC/OLEDB
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565196
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

Про это и говорю. Например, автор может попробовать подготовить настроенный эксель с путями для подключения и отдавать эти файлы пользователям, раз им именно эксель нужен. В крайнем случае можно рядом выгрузить данные к csv или т.п. и так же через эксель подключиться к файлу. Это если там именно эксель нужен кому-то.
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565202
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леонов ЮрийМожно ли настроить cxGrid, чтобы он открывал сразу набор, а только потом высасывал по необходимости данные. Стоит задача открывать данные быстро.

Он и так это делает по умолчанию.
Грид здесь не причём, он рисует ровно столько данных, сколько помещается на экране.
Сделай отвязанный от визуальных компонентов Dataset.Open и сиди секундомером. Это и есть то, что ты называешь "открывать данные".

Леонов ЮрийФильтрация, выгрузка в Excel и т.п.

Определись, что именно - отображать или выгрузить ?
Если предполагается фильтрация, то её точно надо делать на сервере.
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565212
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorКвейдпропущено...


Юрий, объясни своим специфическим людям, что если некто начнет просматривать по одной записи в секунду, то для просмотра всего набора из миллиона записей человеку понадобится 12 дней непрерывного времени.
а им не надо просматривать ВСЕ записи.
Они в Excel строят аналитику, а для этого нужны все возможные записиТС пишет, что ему нужны эти записи в Grid, а не в Excel. Или я что-то недопонял?
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565215
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Квейдdefecatorпропущено...

а им не надо просматривать ВСЕ записи.
Они в Excel строят аналитику, а для этого нужны все возможные записиТС пишет, что ему нужны эти записи в Grid, а не в Excel. Или я что-то недопонял?
Возможно, спорить не буду.
Но слова "выгрузка в Excel" там присутствуют
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565225
Леонов Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Квейдdefecatorпропущено...

а им не надо просматривать ВСЕ записи.
Они в Excel строят аналитику, а для этого нужны все возможные записиТС пишет, что ему нужны эти записи в Grid, а не в Excel. Или я что-то недопонял?

Можно конечно сделать фоновую выгрузку в Excel (благо уже есть механизм и скорее всего им и воспользуюсь). Вопрос ставился относительно отображения данных в TcxGridServerModeTableView, потому и выгрузка планировалась встроенным механизмом грида
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565226
Леонов Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В дополнение к предыдущему посту.
Сортировать и фильтровать он хотят по набору данных в гриде, потому о фильтрации и сортировке в самом запросе речь не стоит
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565231
вввУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Леонов ЮрийВ дополнение к предыдущему посту.
Сортировать и фильтровать он хотят по набору данных в гриде, потому о фильтрации и сортировке в самом запросе речь не стоит
Да всё уже, не получится ничего. Если 2 страницы тебя отговаривают - никто тебе уже ничего не посоветует. Народная примета.
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565238
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
голосую: убить (С)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565245
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вввУЛеонов ЮрийВ дополнение к предыдущему посту.
Сортировать и фильтровать он хотят по набору данных в гриде, потому о фильтрации и сортировке в самом запросе речь не стоит
Да всё уже, не получится ничего. Если 2 страницы тебя отговаривают - никто тебе уже ничего не посоветует. Народная примета.Я могу посоветовать: сортировать и фильтровать запросами на сервере. Юзеры не обязаны понимать и, вполне вероятно, не понимают технических сторон вопроса, нужно (или можно) им сказать, что вот так для них будет хорошо. ))
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565253
вввК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
s62вввУпропущено...

Да всё уже, не получится ничего. Если 2 страницы тебя отговаривают - никто тебе уже ничего не посоветует. Народная примета.Я могу посоветовать: сортировать и фильтровать запросами на сервере. Юзеры не обязаны понимать и, вполне вероятно, не понимают технических сторон вопроса, нужно (или можно) им сказать, что вот так для них будет хорошо. ))
У тебя уже все признаки профдеформации - тебе пора либо в РосКосмос на работу, либо в больницу лечиться, либо на покой роботов собирать :)
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565263
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вввК,
пользователь вообще не знает, сортирует он данные на сервере или на клиенте. Он видит перед собой окно программы, фильтры и таблицу (грид). Ему нужно, чтобы можно было сортировать и фильтровать. А как оно устроено "в потрохах" - на сервере или клиенте, через SQL или LINQ, на Дельфи или на Java, вообще его не касается, лишь бы работало, как нужно.
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565266
Леонов Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вввУЛеонов ЮрийВ дополнение к предыдущему посту.
Сортировать и фильтровать он хотят по набору данных в гриде, потому о фильтрации и сортировке в самом запросе речь не стоит
Да всё уже, не получится ничего. Если 2 страницы тебя отговаривают - никто тебе уже ничего не посоветует. Народная примета.

Я писал про начальные условия, если вы не обратили на это свое внимание. Выше я уже согласился с JaDi по использованию обычного (не ServerMode) грида.

Всем спасибо за участие, буду копать. Если не сильно увлекусь копанием и не забуду, то обязательно в этой ветке отпишусь по результату.
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565405
fd00ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr Excel столько строк не вытянетвытянет. но какими компонентами ТС хочет в дельфях создать такой xlsx-файл и сколько памяти должно быть на клиенте? ну, если там не полтора числовых столбца, конечно
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565553
Прогер123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На мой взгляд имеет смысл рассмотреть промежуточный датасет(кэш), например:
http://www.aidaim.com/in-memory_sql_database_delphi.htm
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565554
Прогер123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прогер123На мой взгляд имеет смысл рассмотреть промежуточный датасет(кэш), например:
http://www.aidaim.com/in-memory_sql_database_delphi.htm

Если функционал сводится к чтению, то присовокупить производительный SSD
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565563
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леонов Юрийесть самописный компонент, потомок TdxServerModeDataSource. Сделан по аналогии с TdxServerModeADODataSource. Разница только в подключении к БДаналог KA18700? шож там тормозит 7 минут, сам доа?
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565595
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
vavanЛеонов Юрийесть самописный компонент, потомок TdxServerModeDataSource. Сделан по аналогии с TdxServerModeADODataSource. Разница только в подключении к БДаналог KA18700? шож там тормозит 7 минут, сам доа?
DOA сам по себе тормозной и жутко прожорливый по памяти
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565617
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecator, а у нас изрядная часть приложений к-е было в лом переводить на anydac так на нем и осталась, с какими-то моими примочками правда

непонятно на чем там у OP такие задержки, скорее думается на выполнении запроса ораклом. server mode впрочем никогда не юзал из-за ограничений, может и он что негативно так вносит
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565758
Леонов Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vavan,

перешел бы давно на UniDAC. Но проекту уже 7 лет, писало до меня человек 5.
Я предлагал руководству переписать с нуля и на других компонентах. Жмутся, типа времени много займет...
А клиент привередливый, но жирный... Вот и приходится изворачиваться
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565795
MirnyiAtom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Леонов Юрий,

Мне кажется, вы немного не понимаете что вам тут объясняют.

При асинхронной загрузке в грид пользователю будет казаться что у него все данные, хотя на самом деле данные будут подгружаться по мере прокрутки.
При этом все фильтры и сортировки нужно выполнять на стороне сервера.

Выгружать в файл данные нужно не из грида, а запросом при помощи курсора, встали на запись в базе - записали строку в файл, встали на следующую - записали и т.д. Это упрощенно, конечно, потому что нужно не по одной записи таскать а порциями, разменивая скорость на память.
И эксель, желательно, формировать при помощи промежуточного тестового файла. Сформировали файл, открыли эксель, импортировали туда данные из промежуточного файла. Если перевалили за 1кк строк, можно разбивать по листам или еще чего делать. Или управлять этим делом на этапе формирования файла.

И вся эта кухня должна быть скрыта от пользователей, им будет казаться что они работают с полным набором данных. Это техническая реализация, пользователям она не интересна.
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565883
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MirnyiAtom,

тут ничем не поможешь: у человека все работает, просто медленно.

"Времени на глобальную переделку нет" (см. выше).

Остается дождаться, когда время реакции изменится с 7 минут на 30. Хотя, если клиент такое терпит, он и дальше терпеть будет.
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565897
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переелать на BDE. Будет быстро. ;)
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39565914
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леонов Юрийперешел бы давно на UniDACне думаю что принципиально время изменится при смене дака. и все же любопытно где проходят озвученные минут
Леонов ЮрийЯ предлагал руководству переписать с нуля и на других компонентах. Жмутся, типа времени много займетэто знакомо, я под это дело тоже часы выбивал. одно время даже параллельно тащил в аппсервере доа и anydac и передачей параметра с клиента инстанцировался тот или иной rdm
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39566000
EAlexander
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Servermode от DevExp рассчитан на запрос, который возвращает первые записи быстро, остальные записи они сами подтягивают по мере необходимости. Всякие футтеры они считают делая запрос вида select ... from (ваш запрос), т.е. такие запросы тоже должны выполняться быстро.
Если же сам запрос выполняется 7 минут, то тут его ничем не ускоришь, кроме переписывания запрос. Для ServerMode нужен запрос Select * from mytable, а фильтровать и искать грида будет сама когда надо.

вопрос к ТС - исходный запрос в sqlplus сколько выполняется?
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39566056
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EAlexanderServermode от DevExp рассчитан на запрос, который возвращает первые записи быстро, остальные записи они сами подтягивают по мере необходимости. Всякие футтеры они считают делая запрос вида select ... from (ваш запрос), т.е. такие запросы тоже должны выполняться быстро.
Если же сам запрос выполняется 7 минут, то тут его ничем не ускоришь, кроме переписывания запрос. Для ServerMode нужен запрос Select * from mytable, а фильтровать и искать грида будет сама когда надоOP при этом заявляет что
Леонов ЮрийНа обычном встроенном DBGrid открываются влет первые N записей (при установке ReadBuffer = N и QueryAllRecords = False) за секунду
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39566086
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леонов ЮрийСуть в том, что в ServerMode режиме полуторамиллионник открывается около 7 минут. Просто, без сумматоров в футере. Это непозволительно долго.Посмотри в профилировщике/мониторе какие запросы отправляются гридом. Не должно так долго. У нас хватает пользователей с базами и побольше. Правда лучше тестить на более современных компонентах, там за три года могло и поменяться что-то :)
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39572870
Леонов Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще один вопрос в тему. Пытаюсь перехватить момент, когда пользователь устанавливает свой фильтр. TcxGridServerModeTableView на событие OnFilterChanged не реагирует. Да и вообще событий у него по сравнению с TcxGridDBTableView по части DataController`a не сильно и много. Кто с таким сталкивался?
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39573118
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леонов ЮрийФинансовая организация, народ специфический, им нужен весь набор, по которому можно делать фильтры, сортировки и т.п. хрень. Мое предложение в виде предформы, на которой можно было бы настроить нужный фильтр, было отвергнуто. Лично мне СТОЛЬКО данных и в пупок не впирались))

Толковый бизнес-аналитик после сбора требований разложит этот супер мега отчет на 20 небольших но решающих конкретный задачи. Ведь вашим пользователям после фильтраций и еще чего, нужен какой-то результат. Логичнее отдавать этот результат сразу.

Например если надо на основании показателей за прошлый год надо решить прогноз на будущее.. не надо выгружать показатели... Надо расписать алгоритм пользователя который на основании показателей считает прогноз... И при вводимых коэффициентах сразу выводится прогноз. и т.п.
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39573305
Леонов Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-CiteТолковый бизнес-аналитик после сбора требований разложит этот супер мега отчет на 20 небольших но решающих конкретный задачи. Ведь вашим пользователям после фильтраций и еще чего, нужен какой-то результат. Логичнее отдавать этот результат сразу.

Например если надо на основании показателей за прошлый год надо решить прогноз на будущее.. не надо выгружать показатели... Надо расписать алгоритм пользователя который на основании показателей считает прогноз... И при вводимых коэффициентах сразу выводится прогноз. и т.п.

А кто вам сказал что это отчет? Это счета клиентов. И работать надо с ними со всеми. Другое дело что запрос умирает с "Out of memory" на сильно большом количестве. Построение отчетов тут ни к чему, откуда вы это взяли?
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39573608
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леонов ЮрийX-CiteТолковый бизнес-аналитик после сбора требований разложит этот супер мега отчет на 20 небольших но решающих конкретный задачи. Ведь вашим пользователям после фильтраций и еще чего, нужен какой-то результат. Логичнее отдавать этот результат сразу.

Например если надо на основании показателей за прошлый год надо решить прогноз на будущее.. не надо выгружать показатели... Надо расписать алгоритм пользователя который на основании показателей считает прогноз... И при вводимых коэффициентах сразу выводится прогноз. и т.п.

А кто вам сказал что это отчет? Это счета клиентов. И работать надо с ними со всеми. Другое дело что запрос умирает с "Out of memory" на сильно большом количестве. Построение отчетов тут ни к чему, откуда вы это взяли?

Такой объем данных необходим только для мега отчетов. Во всех остальных случаях не надо тянуть ВСЕ счета клиентов.

Выбрали одного клиента, загрузили его счета, поработали. Выбрали второго клиента, загрузили счета, поработали.

Работать сразу с миллионом счетов, зачем? Чтобы потом в Excel отфильтровать и работать с 20?

Вам надо понять что они делают с этими счетами, они же какой-то результат на основании работы с ними получают.. Можно же сразу результат этот им и выдавать...
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39573617
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-CiteРаботать сразу с миллионом счетов, зачем? Чтобы потом в Excel отфильтровать и работать с 20?

Вам надо понять что они делают с этими счетами, они же какой-то результат на основании работы с ними получают.. Можно же сразу результат этот им и выдаватьиногда бывает что отбор на сервере происходит существенно дольше чем загрузить "менее отфильтрованный" набор на клиента и дорезать его локально
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39573621
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-CiteТолковый бизнес-аналитикпри наличии его и соответствующих инструментов можно вообще отказаться от дельфового приложения
X-CiteНадо расписать алгоритм пользователяхорошо когда удается всю задачу формализовать и автоматизировать, тогда и пользователь глядишь не нужен
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39576690
Леонов Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-Cite,

это конечно хорошо, выбрать одного клиента... Только учтите, что в основном у каждого клиента как раз один счет и есть, консолидированный. Речь идет не о банке как таковом, а о Фонде гарантирования вкладов, у них уже 90% всех клиентов имеют по одному счету. И откуда тогда выбирать клиента? Списочек на миллион строк? Так и комбобох любой загнется...

Этой проблеме не один год, уже много вариантов было проиграно
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39576882
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леонов ЮрийX-Cite,

это конечно хорошо, выбрать одного клиента... Только учтите, что в основном у каждого клиента как раз один счет и есть, консолидированный. Речь идет не о банке как таковом, а о Фонде гарантирования вкладов, у них уже 90% всех клиентов имеют по одному счету. И откуда тогда выбирать клиента? Списочек на миллион строк? Так и комбобох любой загнется...

Этой проблеме не один год, уже много вариантов было проиграно
Ммм.. А если такой вариант...
Они с этими счетами что-то делают.. Например (из головы в порядке бреда) сначала смотрят по каким не было движения, потом смотрят например какие истекли, потом смотрят еще что-то... Или например продлить все счета где то и то...
Тогда делается 3 отчета...
Счета без движения, Счета истекшие, Счета еще чего-то...... Функционал по продлению счетов где то-то и то-то....
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39576962
Леонов Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X-CiteМмм.. А если такой вариант...
Они с этими счетами что-то делают.. Например (из головы в порядке бреда) сначала смотрят по каким не было движения, потом смотрят например какие истекли, потом смотрят еще что-то... Или например продлить все счета где то и то...
Тогда делается 3 отчета...
Счета без движения, Счета истекшие, Счета еще чего-то...... Функционал по продлению счетов где то-то и то-то....

Им нужны счета. Чтобы все было на одной форме. Весь необходимый функционал они хотят иметь тут же (хотя большей половиной его никогда не пользовались и зачем заказывали непонятно). У людей мозг завязан только на Excel. Им по барабану сколько записей в наборе, но не хотят ждать пока он откроется.

Да, они тупые. Да, они реально уже бесят! Но они платят. И платят жирно. Вот такой вот парадокс...
Вам такие не попадались?
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39576963
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леонов Юрий,

пагинация? или любое другое разбиение данных на части? не обязательно кидаться в крайности - показывать одного клиента или миллион. может сделать тысяч 20 + пагинацию?
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39577793
Леонов Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaonпагинация? или любое другое разбиение данных на части? не обязательно кидаться в крайности - показывать одного клиента или миллион. может сделать тысяч 20 + пагинацию?

Вот про паггинацию подробнее можно? Сейчас тоже возникла про это мысль. Не читал про такую возможность у cxGrid.
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39577819
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а разве servermode не занимается как раз таки пейджингом?
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39577965
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леонов Юрий,

не всё же компоненты должны за тебя делать :) хотя некоторые и умеют нативно. руками.
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39577971
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотя лучше бы умели сами показывать постранично, конечно. ручной skip набора - то еще удовольствие. с другой стороны - я слабо верю, что кому-то реально нужно больше 20ти тысяч записей одновременно. если для поиска - то в миллионе записей всё равно глазами найти что-то практически невозможно, фильтры нужны, и тогда проблема количества записей исчезнет сама собой.
может просто ограничить набор 20ю-50ю тысячами записей?
...
Рейтинг: 0 / 0
ServerMode и несколько миллионов записей
    #39578022
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леонов Юрий...Суть в том, что в ServerMode режиме полуторамиллионник открывается около 7 минут...

Сделай минимальное тестовое приложение, с "полуторамиллионником" в данных и выложи здесь.

Будет код - будет что обсуждать. Не будет кода - будет болтовня еще на 10 страниц.
...
Рейтинг: 0 / 0
70 сообщений из 70, показаны все 3 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ServerMode и несколько миллионов записей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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