Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как ускорить вывод данных? [D6, D7, FireBird]


1008 ©   (2004-09-16 14:08:00) 

В связи с тем, что мою ветку ( Как ускорить или чем развлечь. [D6, D7, FireBird]) удалили создаю новую.

Подключаюсь к базе данных, которая находится на другой машине в сети. Мн необходимо заполнить n полей, которые я создаю динамически (использую TabbednoteBook, на который кладу RichEdit). В поля данные заношу из BLOB-полей при помощи потока. Считывание данных произвожу по одной записи за раз (такой алгоритм работы).  При всём при этом у меня при перемещении между записями (одновременно загружается одна мастер-запись и несколько подчинённых) возникает задержка от 1-й до 5-ти секунд. При чём при формировании отчёта, когда выполняются такие же действия, кроме визуализации, "подтормаживания" нет.
Не подскажите как усорить процесс или что можно показать весёлое пользователю, чтоб он с перепугу ресет не давил?

В ответ на сообщения о непонятности вопроса:

Есть массивы, которые содержат номера записей:
одномерный для номеров из мастер таблицы.
двумерный для номеров из подчинённой таблицы.
При помощи IBQuery из мастер таблицы беру запись (blob) по её идентификатору хранящемуся в массиве, заношу в RichEdit.
Создаю необходимое количество вкладок TabbedNoteBook, на каждую помещаю по RichEdit-у. Поштучно беру из подчинённой таблицы записи в соответствии с идентификаторами указанными в соответствующем масив. Заношу каждую запись в свой RichEdit.

Так понятней?


ЮЮ   (2004-09-17 02:57:00) [1]

Попробуй при создании у  RichEdit ставить Visible = false и включай визуализацию при выборе моответствующей страницы TabbednoteBook


1008   (2004-09-16 15:06:00) [2]

sniknik ©  (16.09.04 14:43) [3]

Это blob - читаю пишу потоком.
Strem:=CreateBlobStrem(FieldByName(...

Erik1 ©  (16.09.04 14:47) [4]

Патовая ситуация. Как такового задания, постановки задачи, разработки плана и т.д. не было. Были указания шефа - вот это я хочу так, а это так. Если эти ремарки собрать воедино получится набор рекомендации по созданию интерфейса. А всё остальное кривыми ручками: как бог на душу положит.


Erik1   (2004-09-16 14:47:00) [3]

Небывает такогй ситуации когда записи надо тягать по одному,бывает неправильня постановка/реальзация задачи! Привиди задачу полностью.


sniknik   (2004-09-16 14:43:00) [4]

> Блоками не могу - таков алгоритм.
не можеш составлять строку вне RichEdit-а? и внести данные разом (или частично но солидными кусками 10-20%)? выкини такой алгоритм.


1008   (2004-09-16 14:38:00) [5]

sniknik ©  (16.09.04 14:25) [1]

Э-э-э. Описание понятней поверьте :)

100% ускорит - откажись (где возможно) от штучных операций... делай блочные.
например запись в RichEdit так поодной и вносиш?


Блоками не могу - таков алгоритм.
Ладно, спасибо за содействие. Буду искать способ развлечь юзера.


sniknik   (2004-09-16 14:25:00) [6]

самое красочное описание не заменит банального кода.

100% ускорит - откажись (где возможно) от штучных операций... делай блочные.
например запись в RichEdit так поодной и вносиш? надеюсь хоть вывод отключаеш (BeginUpdate)?

p.s. всего остального не понял.


Наверх

Титульная страница Поиск, карта сайта Написать письмо