Как да ускорите извеждането на данни

Поради факта, че моят клон (Как да ускоря или как да забавлявам. [D6, D7, FireBird]) беше изтрит, създавам нов.

Свързвам се към база данни, която се намира на друга машина в мрежата. Трябва да попълня n полета, които създавам динамично (използвам TabbednoteBook, на който слагам RichEdit). Въвеждам данни в полетата от BLOB полета с помощта на поток. Прочитам данните един запис наведнъж (такъв алгоритъм на работа). При всичко това, когато се движа между записите (един главен запис и няколко подчинени записа се зареждат едновременно), има забавяне от 1 до 5 секунди. Какво означава при генериране на отчет, когато се извършват същите действия, с изключение на визуализацията, няма "забавяне" Бихте ли ми казали как да ускоря процеса или какво може да се покаже на забавен потребител, така че да не натисне нулирането от страх?

В отговор на публикации за неразбираемостта на въпроса:

Има масиви, които съдържат числа на записи: едномерни за числа от главната таблица. двуизмерен за числа от подчинената таблица. Използвайки IBQuery, вземам запис (блоб) от главната таблица по неговия идентификатор, съхранен в масива, поставям го в RichEdit. Създавам необходимия брой раздели TabbedNoteBook, поставям RichEdit на всеки. Част по част вземам записи от подчинената таблица в съответствие с идентификаторите, посочени в съответния масив. Въвеждам всеки запис в моя RichEdit.

най-колоритното описание няма да замени баналния код.

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

p.s. Всичко останало не разбрах.

Ъ-ъ-ъ. Описанието е по-ясно, повярвайте ми :)

100% ще ускори - отказ (където е възможно) от операции на парче. направиблок. например, добавяте ли запис в RichEdit един по един?

Не мога да използвам блокове - това е алгоритъмът. Добре, благодаря за помощта. Ще търся начин да забавлявам потребителя.

> Не мога да използвам блокове - това е алгоритъмът. Не мога да съставя низ извън RichEdit? и въведете данните наведнъж (или частично, но на твърди парчета от 10-20%)? изхвърлете такъв алгоритъм.

Няма такава ситуация, когато записите трябва да се зареждат един по един, понякога формулирането / изпълнението на задачата е неправилно! Вижте цялата задача.

Това е петно ​​- чета и пиша в поток. Strem:=CreateBlobStrem(FieldByName(.

Патова ситуация. Като такива задачи, поставяне на задача, разработване на план и т.н. не са имали. Имаше инструкции от шефа - това искам и така е. Ако тези бележки се съберат заедно, ще получите набор от препоръки за създаване на интерфейс. И всичко останало с криви ръце: както Бог тури на душата.

Опитайте да зададете Visible = false, когато създавате RichEdit и включете визуализацията, когато избирате подходящата страница TabbednoteBook