|
|
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
ъъъъъ Понятно. Ставишь галку Unidirectional в True, в TpFIBDataSet, и всё. Разве по такому датасету можно свободно бегать в гриде взад-вперед? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 18:46 |
|
||
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
V.Borzov ъъъъъ Понятно. Ставишь галку Unidirectional в True, в TpFIBDataSet, и всё. Разве по такому датасету можно свободно бегать в гриде взад-вперед? А в отчете это тебе нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 18:47 |
|
||
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
Я как-то теряюсь: "грид", "отчет". Давай отделим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 18:48 |
|
||
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий отделяй мух от котлет - считай "итого" отдельным небуферизированным запросом/датасетом Можно, конечно, суммы, отдельно считать. Но не в этом суть. Ну выведу я клиенту фетч первых 12 записей, а дальше если захочет, то пусть идет. Не годится. Ибо полный фетч занять очень много времени может, а надо, чтобы листалось с приемлемой скоростью, пусть там хотя бы 300 тыс записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 18:48 |
|
||
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
V.Borzov> Можно, конечно, суммы, отдельно считать. Но не в этом суть А в чём ещё? Для чего ещё клиент может захотеть открыть журнал на 100тыщ записей? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 18:51 |
|
||
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
ъъъъъ Я как-то теряюсь: "грид", "отчет". Давай отделим? Окно с выводом сумм и с гридом, отображающим все данные. Об этом говорю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 18:53 |
|
||
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
V.Borzov ъъъъъ Я как-то теряюсь: "грид", "отчет". Давай отделим? Окно с выводом сумм и с гридом, отображающим все данные. Об этом говорю. Ну, если хочется грид - то пусть будет грид. Считай id's записей в массив, это быстро. А прочие поля показывай при запросе грида на их отображение. Это любой грид умеет. А суммы показывай как результат отдельного запроса. Select (sum) и т.д. Только нафига грид - непонятно. Есть же генератор отчетов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 18:57 |
|
||
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
ъъъъъ> Только нафига грид - непонятно. Есть же генератор отчетов. В гриде показывать быстрее/удобнее (по умолчанию). Задал фильтр "за последние 10 лет" - и вжиииик, готово. А генератор рисовать эти сотни страниц полчаса будет. Интерфейс кривой, переделывать надо. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 18:59 |
|
||
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
ъъъъъ, Что такое "генератор отчетов"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 19:00 |
|
||
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
V.Borzov ъъъъъ, Что такое "генератор отчетов"? Ну, ё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 19:00 |
|
||
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
V.Borzov> Что такое "генератор отчетов"? FastReport и т.д. На печать ты откуда выводишь, "прямо из грида"? Пред.сохранённые отчёты же у тебя есть ("журнал продаж", "движение товаров", "складские остатки" и пр.) ? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 19:16 |
|
||
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
Вот журнал продаж, за 3 недели, по всем 80 аптекам предприятия. 500 тыс записей в результате выдал. Выдавал (то есть полный фетч) 170 секунд. Приложение в памяти заняло 1.1 гига. pfibdataset.savetofile() выгрузил всё содержимое в файл размером 900мб, кстати, за какие-то 4 секунды, кстати. Теперь выгружаю полученный результат в DBF-файл с помощью TDBF. Получился файл размером 6 гиг. Если открыть этот файл в TDBF (5 секунд на открытие) и отобразить его в гриде, то приложение занимает всего 27мб в оперативке, и летаем с первой до последней записи циклом while not eof do next. за 6 секунд. Сиди, разглядывай свой грид, сколько влезет, всё летает. В своем рабочем BDE-приложении, работающем с базой Paradox, этот журнал выходит на том же компе за 5 минут. Листай сколько хочешь, приложение занимает 100мб в оперативке. Правда, там многие поля калькулируются на лету, что на скорость листания влияет, но не так критично. В новом приложении с Firebird-базой я все поля в таблице пытаюсь выводить одним запросом, отдельным потоком к тому же, потом передаю в форму с гридом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 19:34 |
|
||
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
Ууу как всё запущено. А кто у вас "главный погромист"? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 19:35 |
|
||
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, Ага, значит, фастрепорт. Ну, фастрепорт я использую для печати уже готового результата, если клиенту захотелось его напечатать, что далеко не всегда. Как стандартный отображатель данных на экране я его не использую. Гораздо интереснее, по-моему, всегда вывести в окошке с гридом и суммами, откуда и выбросить можно хоть куда, хоть в эксель, чем часто пользуются аналитики, и еще куча всяких действий, например перехода в другие документы и формы. И кнопка печати вот, как одно из действий, а там куча разных вариантов этой печатной формы, у каждого клиента своя. То есть в печатную форму передается датасет этот, еще какие-нибудь параметры, а там рисуй что хочешь, на месте у клиента прямо. Но чтобы сразу на экран готовое через фастрепорт - это только в случае, если какой-то совсем нестандартный отчет, который не включается в экзешник, а только у этого пользователя. Да и то, как там с потоками работать в фастрепорте - еще разбираться надо будет. Сейчас же я открываю форму, указываю параметры запроса (период дат, например), нажимаю кнопку "открыть", дальше форма думает, а я могу в программе другими делами заниматься, еще пару отчетов-форм открыть, например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 19:44 |
|
||
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
Дичь какая-то. Сырые данные в таком объеме никому не нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 19:46 |
|
||
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, Что неправильно, расскажите, если не сильно сложно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 19:46 |
|
||
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
ъъъъъ, У вас нет такого отчета, как журнал продаж? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 19:47 |
|
||
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, У кого у нас? Я единственный. Научить некому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 19:48 |
|
||
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
V.Borzov> Как стандартный отображатель данных на экране я его не использую. V.Borzov> Гораздо интереснее, по-моему, всегда вывести в окошке с гридом и суммами Не 100тыщ записей же. Понятно, что пользователь может задать такой фильтр, но только ради итогов итп. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 19:50 |
|
||
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам V.Borzov> Что такое "генератор отчетов"? FastReport и т.д. На печать ты откуда выводишь, "прямо из грида"? Пред.сохранённые отчёты же у тебя есть ("журнал продаж", "движение товаров", "складские остатки" и пр.) ? Никому не интересно это в виде превью в фастрепорте. В окне у людей куча кнопок с кучей всяких действий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 19:50 |
|
||
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
V.Borzov> У кого у нас? Я единственный. А "система" на каком этапе разработки? Или вы купили "филиалы", в которых у каждой свой способ учёта? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 19:51 |
|
||
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам Не 100тыщ записей же. Понятно, что пользователь может задать такой фильтр, но только ради итогов итп. Хорошо, рассуждаем: вот есть отчет "Журнал продаж". Я не знаю, зачем он им там нужен, но еще лет 22 назад меня попросили такой отчет сделать. Сделал. У кого-то это больше, у кого-то это меньше. Вот у клиента самого жирного сейчас за один день по всем АП журнал в сумме выдает 36184 строк . Далее я встаю перед выбором: либо запрещать клиенту этому открывать этот отчет более чем за 1 день, потому что это зашквар, то есть признаться в том, что этот отчет не работоспособен на таких объемах. Либо заставить его высунуть всё это так или иначе, а юзер уж пусть сам решает, где ему удобнее смотреть суммы - в журнале отпуска товаров или в сводной ведомости реализации по складам, где 80 строк. Какой наш выбор? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 19:56 |
|
||
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, Старой BDE системе 22 года, я создал её в 1998 году. Сейчас пытаюсь, наконец, перетащить в Firebird, а фактически - новая система пишется, с нуля практически, но на основе всё тех же аналитических форм. Но, поскольку подходы при работе с данными совершенно другие тут, то постоянно приходится ломать мозги на вещах, над которыми раньше даже и не задумывался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 20:00 |
|
||
|
pFibDataset - скинуть буфер на диск для экономии памяти
|
|||
|---|---|---|---|
|
#18+
V.Borzov ъъъъъ, У вас нет такого отчета, как журнал продаж? Пользовательские наборы данных в таких объемах - не формируются, хотя данных реально дохрена. При отображении данные всегда как-то сгруппированы. Примерно, как в файловой системе Windows, только признаков группировки больше. А если пользователь ввалил в один каталог 500 000 записей, а потом страдает, что проводник завис - да и плевать. Ну да, датасеты не используются, грузится только структура и id's документов. Поля загружается лишь при отображении, плюс какой-то кэш, чтобы при листании вверх-вниз повторно часто не грузить. Никаких сумм не показывается, только в отчетах (которые "генераторы"). Суммы показываются в небольших датасетах: например, при формировании заказов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2020, 20:07 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39952531&tid=2038369]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 397ms |

| 0 / 0 |
