мое приложение подключено к oracle 10g. Количество строк, которые нужно извлечь, очень велико, поэтому много времени можно извлечь из выборки. Как я могу улучшить работу с данными datawindow. во время поиска я обнаружил, что в профиле базы данных определен параметр «блок», но не уверен в нем.PowerBuilder: как я могу улучшить работу с данными datawindow
ответ
Сначала определите, действительно ли вам нужны все эти строки, полученные клиенту. Если этот процесс является чем-то вроде «Извлеките все, а затем сделайте некоторые вычисления на клиентской стороне по извлеченным строкам», я бы подумал о том, чтобы делать всю эту обработку в хранимой процедуре на сервере.
Вы можете просмотреть общие объекты и выполнить поиск в фоновом потоке.
Ограничить количество столбцов, полученных только теми, которые вам действительно нужны. «Выбрать * из таблицы» ВСЕГДА плохая идея ...
«Получить как нужно» может помочь, но это только если пользователь «подкачки» через строки в Интернете. Если это большой отчет, этот вариант не дает вам никаких преимуществ.
В конечном счете, всякий раз, когда есть «большое количество извлеченных строк», вам действительно нужно сесть и спросить, должны ли все эти данные вообще сходить в клиентское приложение.
-Поль Horan-
Асинхронного индексирование
Если вы должны получить так много строк, чтобы установить операцию базы данных асинхронными через свойство dbparm. Единственное, что это делает, это освободить графический интерфейс, дающий иллюзию лучшей производительности. Единственное, что асинхронно не поможет, - это время между отправкой запроса и возвращенной первой строкой, графический интерфейс будет заблокирован (песочные часы) до тех пор, пока первая строка не будет восстановлена, и после этого асинхронный режим позволит графическому интерфейсу быть нечасовым. С асинхронным, хотя у вас могут возникнуть проблемы с транзакциями в другом месте, поэтому рассмотрите возможность использования другого объекта транзакции.
Нет кода в случае DataWindow объект sqlpreview
Никогда не помещайте код, даже не комментарий в sqlpreview, если это абсолютно необходимо, потому что это не выполняется один раз для каждой строки и может замедлить извлечение драматически при получении много строк.
кэша данных выпадающий DataWindow или любые полу-статические данные, если это возможно
Если у вас есть выпадающий DataWindow с большим количеством строк, что может повлиять на производительность особенно много с большим количеством строк. Если данные являются статичными, вы можете кэшировать их в памяти, а затем вручную назначать данные в раскрывающемся окне данных с помощью функции datawindow getChild в сочетании с функцией shareData.
Получить данные в формате с разделителями
Это предложение действительно «там» за нормальной парадигмы программирования PowerBuilder, или какого-либо программирования по этому вопросу. Если данные и интерфейс позволяют вам потенциально использовать хранимую процедуру, которая возвращает данные в большой части, по существу разделенные данные, для которых вы будете импортировать строки в окно данных. Это то, чего я никогда не видел за последние 15 лет программирования PB, но это могло бы работать в нескольких обстоятельствах.При извлечении большого количества строк возникает много коммуникационных издержек, поэтому это минимизирует эти накладные расходы в пользу мощности и скорости перебора сервера, а также быстро импортирует функции строк.
Я согласен с ответом Павла, особенно ограничивая количество столбцов, поскольку это может значительно уменьшить размер извлечения. Блокировка параметров размера может помочь производительности, но, вероятно, не так много.
- 1. Как обрабатывать DataWindow в PowerBuilder
- 2. PowerBuilder Composite Datawindow
- 3. Ошибка Powerbuilder Datawindow
- 4. Powerbuilder DataWindow + Datetime2 Ошибка
- 5. PowerBuilder, DataWindow условное форматирование
- 6. Граф PowerBuilder DataWindow
- 7. Powerbuilder Datawindow Password Encrypt
- 8. Powerbuilder-Невозможно создать новый datawindow
- 9. PowerBuilder - динамический DataWindow из курсора
- 10. PowerBuilder datawindow не возвращает результат
- 11. Ошибка обновления данных powerbuilder datawindow
- 12. Как datawindow powerbuilder выполняет команду вставки
- 13. PowerBuilder: генерирование HTML из окна datawindow
- 14. Как удалить дополнительные столбцы в DataWindow PowerBuilder
- 15. Как проверить простофиль в PowerBuilder DataWindow
- 16. Powerbuilder Datawindow textbox не переносит слова
- 17. Как выпадающий в DataWindow в PowerBuilder
- 18. Powerbuilder/Javascript HTML Datawindow SetItem Datetime Failure
- 19. Экспорт Datawindow в excel в powerbuilder
- 20. PowerBuilder DataWindow EditMask для IP-адреса
- 21. Как динамически вставлять данные в datawindow с помощью powerbuilder 12.5
- 22. Как показать нерасширяемые узлы в дереве Powerbuilder Datawindow
- 23. Powerbuilder Embedded/DataWindow SQL генерирует SQL с неправильными типами данных
- 24. PowerBuilder DataWindow с использованием вставки при необходимости обновления
- 25. Как проверить, выбрана ли ячейка в объекте DataWindow Powerbuilder?
- 26. Powerbuilder 12 не может сохранить как pdf datawindow
- 27. Как импортировать графики из excel в datawindow в powerbuilder
- 28. Пропустить временную метку между данными DataWindow Powerbuilder и хранимой процедурой вставки/обновления SQLServer
- 29. Как Использование PowerBuilder в MDB
- 30. Как я могу улучшить FPS?