|
|
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
Доброго дня, уважаемые гуру! Давно стоит проблема, но всё откладывалась на потом. И вот этот "потом" настал. Есть среда 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, чтобы он открывал сразу набор, а только потом высасывал по необходимости данные. Стоит задача открывать данные быстро. Заранее благодарю за конструктив ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 14:06 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
Леонов ЮрийДоброго дня, уважаемые гуру! Давно стоит проблема, но всё откладывалась на потом. И вот этот "потом" настал. Есть среда 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 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 14:07 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
юра, а зачем тебе СТОЛЬКО данных? (я серьёзно) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 14:11 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийюра, а зачем тебе СТОЛЬКО данных? (я серьёзно) +1. 2ТС: попытайся структурировать данные и показать их (например) в виде дерева. Список строений, к примеру, отлично раскладывается по улицам, улицы - по городам и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 14:32 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
ServerMode требует специальной поддержки от датасет-компонента (посмотрел сейчас доки, в 14 версии нет поддержки doa (delphi oracle access). Возможно, необходим фетчинг данных -- когда курсор с данными остается открытым на сервере, а программа грузит их по мере надобности движения по списку. Для последнего нужно включить GridMode. И при его включении итоги в колонках перестанут работать. В общем, можно просто в справке сделать поиск по "servermode" и "gridmode", там есть подробные инструкции по настройке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 14:35 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
чччДМимопроходящийюра, а зачем тебе СТОЛЬКО данных? (я серьёзно) +1. 2ТС: попытайся структурировать данные и показать их (например) в виде дерева. Список строений, к примеру, отлично раскладывается по улицам, улицы - по городам и т.д. у него случай выгрузки данных в Excel для дальнейшего анализа. Не вижу криминала в выгрузке полутора лямов строк на клиента ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 14:39 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
JaDiServerMode требует специальной поддержки от датасет-компонента (посмотрел сейчас доки, в 14 версии нет поддержки doa (delphi oracle access). Возможно, необходим фетчинг данных -- когда курсор с данными остается открытым на сервере, а программа грузит их по мере надобности движения по списку. Для последнего нужно включить GridMode. И при его включении итоги в колонках перестанут работать. В общем, можно просто в справке сделать поиск по "servermode" и "gridmode", там есть подробные инструкции по настройке. Какие уж тут итоги (да и фильтры на клиенте), если тащит такие объемы данных. ... 2 ТА: имхо, проще всего запитать грид от TcxCustomDataSet. Тут уж что напишешь - все твое. Можно, например, подгружать реальные данные только тогда, когда грид их запросит. Но тут тоже самое - все подсчеты "на лету" и фильтрацию средствами грида придется ручками обрабатывать - например, формируя запросы к серверу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 14:40 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
06.12.2017 14:39, defecator пишет: > у него случай выгрузки данных в Excel для дальнейшего анализа. > Не вижу криминала в выгрузке полутора лямов строк на клиента ну а "за щекой" то их зачем держать? если это конечно не сила привычки... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 14:41 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
defecatorчччДпропущено... +1. 2ТС: попытайся структурировать данные и показать их (например) в виде дерева. Список строений, к примеру, отлично раскладывается по улицам, улицы - по городам и т.д. у него случай выгрузки данных в Excel для дальнейшего анализа. Не вижу криминала в выгрузке полутора лямов строк на клиента Для выгрузки в иксель зачем все сразу тащить? ... И что там у него за строки еще - пара килобайт на строку - вот и съели всю оперативку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 14:43 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
чччДdefecatorпропущено... у него случай выгрузки данных в Excel для дальнейшего анализа. Не вижу криминала в выгрузке полутора лямов строк на клиента Для выгрузки в иксель зачем все сразу тащить? ... И что там у него за строки еще - пара килобайт на строку - вот и съели всю оперативку. в DOA, в отличие от ODAC, с оперативкой всё плохо - очень прожорливый этот DOA. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 14:45 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийюра, а зачем тебе СТОЛЬКО данных? (я серьёзно) Финансовая организация, народ специфический, им нужен весь набор, по которому можно делать фильтры, сортировки и т.п. хрень. Мое предложение в виде предформы, на которой можно было бы настроить нужный фильтр, было отвергнуто. Лично мне СТОЛЬКО данных и в пупок не впирались)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 14:47 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
Леонов ЮрийМимопроходящийюра, а зачем тебе СТОЛЬКО данных? (я серьёзно) Финансовая организация, народ специфический, им нужен весь набор, по которому можно делать фильтры, сортировки и т.п. хрень. Мое предложение в виде предформы, на которой можно было бы настроить нужный фильтр, было отвергнуто. Лично мне СТОЛЬКО данных и в пупок не впирались)) Чтото я сомневаюсь, что они будут листать весь миллион записей... Может пользователи не поняли про предформу и им нужно внятнее объяснить, на простом для них языке :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 14:53 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
06.12.2017 14:47, Леонов Юрий пишет: > > Финансовая организация, народ специфический, им нужен весь набор, по которому можно делать фильтры, сортировки и т.п. хрень. весь набор хранится НА СЕРВЕРЕ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 14:53 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
Леонов ЮрийМимопроходящийюра, а зачем тебе СТОЛЬКО данных? (я серьёзно) Финансовая организация, народ специфический, им нужен весь набор, по которому можно делать фильтры, сортировки и т.п. хрень. Мое предложение в виде предформы, на которой можно было бы настроить нужный фильтр, было отвергнуто. Лично мне СТОЛЬКО данных и в пупок не впирались)) Ну, пусть ждут. Я как-то в одной конторке изменил базовый принцип работы со списками. Сперва открываешь грид - а там пусто. Пока не укажешь фильтр. Если указал "хочу весь интернет все" - ну и жди, сам захотел. На вопрос "...э?" ответил - "вы в интернете все сразу видите, или что попросите?" Конечно, сперва с директором согласовал. Так и работают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 14:56 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
Excel столько строк не вытянет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 14:57 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
DimaBr Excel столько строк не вытянет на одной странице - миллион а страниц может быть 65 тыщ вытянет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 14:58 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
06.12.2017 14:57, DimaBr пишет: > Excel столько строк не вытянет они ж вродь уже и х64 сподобились выпустить Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 15:00 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
JaDiServerMode требует специальной поддержки от датасет-компонента (посмотрел сейчас доки, в 14 версии нет поддержки doa (delphi oracle access). есть самописный компонент, потомок TdxServerModeDataSource. Сделан по аналогии с TdxServerModeADODataSource. Разница только в подключении к БД. JaDiВозможно, необходим фетчинг данных -- когда курсор с данными остается открытым на сервере, а программа грузит их по мере надобности движения по списку. Для последнего нужно включить GridMode. И при его включении итоги в колонках перестанут работать. В общем, можно просто в справке сделать поиск по "servermode" и "gridmode", там есть подробные инструкции по настройке. Это для обычного грида? Кроме итогов не работает и фильтрация с сортировкой. Хотя в целом вариант очень даже жизнеспособный. Причесать код придется сильно, но эффект выходит хороший. Спасибо огромное)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 15:14 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
DimaBr, XLSX нормально тянет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 15:16 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
06.12.2017 15:16, Леонов Юрий пишет: > XLSX нормально тянет ой как всё запущено.... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 15:18 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
шК0ДЕР Чтото я сомневаюсь, что они будут листать весь миллион записей... Может пользователи не поняли про предформу и им нужно внятнее объяснить, на простом для них языке :) Что можно объяснить людям, которые на просьбу скинуть скрин формы ФОТОГРАФИРУЮТ ее на телефон а потом выкладывают в скайп? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 15:19 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
DimaBr Excel столько строк не вытянет Ты сам-то свою ссылку открывал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 15:20 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
Леонов ЮрийМимопроходящийюра, а зачем тебе СТОЛЬКО данных? (я серьёзно) Финансовая организация, народ специфический, им нужен весь набор, по которому можно делать фильтры, сортировки и т.п. хрень. Мое предложение в виде предформы, на которой можно было бы настроить нужный фильтр, было отвергнуто. Лично мне СТОЛЬКО данных и в пупок не впирались)) Юрий, объясни своим специфическим людям, что если некто начнет просматривать по одной записи в секунду, то для просмотра всего набора из миллиона записей человеку понадобится 12 дней непрерывного времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 15:33 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
КвейдЛеонов Юрийпропущено... Финансовая организация, народ специфический, им нужен весь набор, по которому можно делать фильтры, сортировки и т.п. хрень. Мое предложение в виде предформы, на которой можно было бы настроить нужный фильтр, было отвергнуто. Лично мне СТОЛЬКО данных и в пупок не впирались)) Юрий, объясни своим специфическим людям, что если некто начнет просматривать по одной записи в секунду, то для просмотра всего набора из миллиона записей человеку понадобится 12 дней непрерывного времени. а им не надо просматривать ВСЕ записи. Они в Excel строят аналитику, а для этого нужны все возможные записи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 15:34 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
рррЗDimaBr Excel столько строк не вытянет Ты сам-то свою ссылку открывал? ТС надо полтора миллиона записей. А на листе только миллион Другое дело, что листов может быть 65 тыщ ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 15:35 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39565157&tid=2041394]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
185ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
85ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 555ms |

| 0 / 0 |
