|
|
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
06.12.2017 15:33, Квейд пишет: > Юрий, объясни своим специфическим людям, что если некто начнет просматривать по одной записи в секунду, > то для просмотра *всего набора* из миллиона записей человеку понадобится 12 дней непрерывного времени. имхо, проблема тут не только в заказчике. проблема ещё и в том, что Юра не видит иных путей для достижения цели, окромя как использовать встроенные в этот аляповатый грид средства фильтрации, сортировки, агрегации... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 15:36:39 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
06.12.2017 15:34, defecator пишет: > Они в Excel строят аналитику пивной ларёк Ltd Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 15:37:37 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
К слову, эксель может и сам напрямую к источникам данных подключаться, в т.ч. к базам данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 15:40:33 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
06.12.2017 15:40, JaDi пишет: > К слову, эксель может и сам напрямую к источникам данных подключаться, в т.ч. к базам данных. сам напрямую не может. только через ODBC/OLEDB Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 15:41:52 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, Про это и говорю. Например, автор может попробовать подготовить настроенный эксель с путями для подключения и отдавать эти файлы пользователям, раз им именно эксель нужен. В крайнем случае можно рядом выгрузить данные к csv или т.п. и так же через эксель подключиться к файлу. Это если там именно эксель нужен кому-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 15:47:01 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
Леонов ЮрийМожно ли настроить cxGrid, чтобы он открывал сразу набор, а только потом высасывал по необходимости данные. Стоит задача открывать данные быстро. Он и так это делает по умолчанию. Грид здесь не причём, он рисует ровно столько данных, сколько помещается на экране. Сделай отвязанный от визуальных компонентов Dataset.Open и сиди секундомером. Это и есть то, что ты называешь "открывать данные". Леонов ЮрийФильтрация, выгрузка в Excel и т.п. Определись, что именно - отображать или выгрузить ? Если предполагается фильтрация, то её точно надо делать на сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 15:49:29 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
defecatorКвейдпропущено... Юрий, объясни своим специфическим людям, что если некто начнет просматривать по одной записи в секунду, то для просмотра всего набора из миллиона записей человеку понадобится 12 дней непрерывного времени. а им не надо просматривать ВСЕ записи. Они в Excel строят аналитику, а для этого нужны все возможные записиТС пишет, что ему нужны эти записи в Grid, а не в Excel. Или я что-то недопонял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 15:55:43 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
Квейдdefecatorпропущено... а им не надо просматривать ВСЕ записи. Они в Excel строят аналитику, а для этого нужны все возможные записиТС пишет, что ему нужны эти записи в Grid, а не в Excel. Или я что-то недопонял? Возможно, спорить не буду. Но слова "выгрузка в Excel" там присутствуют ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 16:00:19 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
Квейдdefecatorпропущено... а им не надо просматривать ВСЕ записи. Они в Excel строят аналитику, а для этого нужны все возможные записиТС пишет, что ему нужны эти записи в Grid, а не в Excel. Или я что-то недопонял? Можно конечно сделать фоновую выгрузку в Excel (благо уже есть механизм и скорее всего им и воспользуюсь). Вопрос ставился относительно отображения данных в TcxGridServerModeTableView, потому и выгрузка планировалась встроенным механизмом грида ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 16:13:58 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
В дополнение к предыдущему посту. Сортировать и фильтровать он хотят по набору данных в гриде, потому о фильтрации и сортировке в самом запросе речь не стоит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 16:15:59 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
Леонов ЮрийВ дополнение к предыдущему посту. Сортировать и фильтровать он хотят по набору данных в гриде, потому о фильтрации и сортировке в самом запросе речь не стоит Да всё уже, не получится ничего. Если 2 страницы тебя отговаривают - никто тебе уже ничего не посоветует. Народная примета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 16:26:26 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
голосую: убить (С) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 16:33:09 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
вввУЛеонов ЮрийВ дополнение к предыдущему посту. Сортировать и фильтровать он хотят по набору данных в гриде, потому о фильтрации и сортировке в самом запросе речь не стоит Да всё уже, не получится ничего. Если 2 страницы тебя отговаривают - никто тебе уже ничего не посоветует. Народная примета.Я могу посоветовать: сортировать и фильтровать запросами на сервере. Юзеры не обязаны понимать и, вполне вероятно, не понимают технических сторон вопроса, нужно (или можно) им сказать, что вот так для них будет хорошо. )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 16:48:29 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
s62вввУпропущено... Да всё уже, не получится ничего. Если 2 страницы тебя отговаривают - никто тебе уже ничего не посоветует. Народная примета.Я могу посоветовать: сортировать и фильтровать запросами на сервере. Юзеры не обязаны понимать и, вполне вероятно, не понимают технических сторон вопроса, нужно (или можно) им сказать, что вот так для них будет хорошо. )) У тебя уже все признаки профдеформации - тебе пора либо в РосКосмос на работу, либо в больницу лечиться, либо на покой роботов собирать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 16:56:32 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
вввК, пользователь вообще не знает, сортирует он данные на сервере или на клиенте. Он видит перед собой окно программы, фильтры и таблицу (грид). Ему нужно, чтобы можно было сортировать и фильтровать. А как оно устроено "в потрохах" - на сервере или клиенте, через SQL или LINQ, на Дельфи или на Java, вообще его не касается, лишь бы работало, как нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 17:06:19 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
вввУЛеонов ЮрийВ дополнение к предыдущему посту. Сортировать и фильтровать он хотят по набору данных в гриде, потому о фильтрации и сортировке в самом запросе речь не стоит Да всё уже, не получится ничего. Если 2 страницы тебя отговаривают - никто тебе уже ничего не посоветует. Народная примета. Я писал про начальные условия, если вы не обратили на это свое внимание. Выше я уже согласился с JaDi по использованию обычного (не ServerMode) грида. Всем спасибо за участие, буду копать. Если не сильно увлекусь копанием и не забуду, то обязательно в этой ветке отпишусь по результату. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 17:09:56 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
DimaBr Excel столько строк не вытянетвытянет. но какими компонентами ТС хочет в дельфях создать такой xlsx-файл и сколько памяти должно быть на клиенте? ну, если там не полтора числовых столбца, конечно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 20:21:29 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
На мой взгляд имеет смысл рассмотреть промежуточный датасет(кэш), например: http://www.aidaim.com/in-memory_sql_database_delphi.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 09:10:10 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
Прогер123На мой взгляд имеет смысл рассмотреть промежуточный датасет(кэш), например: http://www.aidaim.com/in-memory_sql_database_delphi.htm Если функционал сводится к чтению, то присовокупить производительный SSD ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 09:12:45 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
Леонов Юрийесть самописный компонент, потомок TdxServerModeDataSource. Сделан по аналогии с TdxServerModeADODataSource. Разница только в подключении к БДаналог KA18700? шож там тормозит 7 минут, сам доа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 09:28:53 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
vavanЛеонов Юрийесть самописный компонент, потомок TdxServerModeDataSource. Сделан по аналогии с TdxServerModeADODataSource. Разница только в подключении к БДаналог KA18700? шож там тормозит 7 минут, сам доа? DOA сам по себе тормозной и жутко прожорливый по памяти ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 10:10:20 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
defecator, а у нас изрядная часть приложений к-е было в лом переводить на anydac так на нем и осталась, с какими-то моими примочками правда непонятно на чем там у OP такие задержки, скорее думается на выполнении запроса ораклом. server mode впрочем никогда не юзал из-за ограничений, может и он что негативно так вносит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 10:40:39 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
vavan, перешел бы давно на UniDAC. Но проекту уже 7 лет, писало до меня человек 5. Я предлагал руководству переписать с нуля и на других компонентах. Жмутся, типа времени много займет... А клиент привередливый, но жирный... Вот и приходится изворачиваться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 12:43:41 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
Леонов Юрий, Мне кажется, вы немного не понимаете что вам тут объясняют. При асинхронной загрузке в грид пользователю будет казаться что у него все данные, хотя на самом деле данные будут подгружаться по мере прокрутки. При этом все фильтры и сортировки нужно выполнять на стороне сервера. Выгружать в файл данные нужно не из грида, а запросом при помощи курсора, встали на запись в базе - записали строку в файл, встали на следующую - записали и т.д. Это упрощенно, конечно, потому что нужно не по одной записи таскать а порциями, разменивая скорость на память. И эксель, желательно, формировать при помощи промежуточного тестового файла. Сформировали файл, открыли эксель, импортировали туда данные из промежуточного файла. Если перевалили за 1кк строк, можно разбивать по листам или еще чего делать. Или управлять этим делом на этапе формирования файла. И вся эта кухня должна быть скрыта от пользователей, им будет казаться что они работают с полным набором данных. Это техническая реализация, пользователям она не интересна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 13:12:00 |
|
||
|
ServerMode и несколько миллионов записей
|
|||
|---|---|---|---|
|
#18+
MirnyiAtom, тут ничем не поможешь: у человека все работает, просто медленно. "Времени на глобальную переделку нет" (см. выше). Остается дождаться, когда время реакции изменится с 7 минут на 30. Хотя, если клиент такое терпит, он и дальше терпеть будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2017, 14:28:23 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39565231&tid=2041394]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
10ms |
check topic access: |
10ms |
track hit: |
95ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
96ms |
get tp. blocked users: |
2ms |
| others: | 238ms |
| total: | 498ms |

| 0 / 0 |
