Як прискорити виведення даних

У зв'язку з тим, що мою гілку (Як прискорити або чим розважити. [D6, D7, FireBird]) видалили нову.

Підключаюся до бази даних, яка знаходиться на іншій машині мережі. Мн необхідно заповнити n полів, які я створюю динамічно (використовую TabbednoteBook, на який кладу RichEdit). У поля дані заношу із BLOB-полів за допомогою потоку. Зчитування даних проводжу по одному запису за один раз (такий алгоритм роботи). При всьому цьому у мене при переміщенні між записами (одночасно завантажується один майстер-запис і кілька підлеглих) виникає затримка від 1 до 5 секунд. При чому при формуванні звіту, коли виконуються такі ж дії, крім візуалізації, "підгальмовування" немає.

У відповідь на повідомлення про незрозумілість питання:

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

найяскравіший опис не замінить банального коду.

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

p.s. решти не зрозумів.

Е-е-е. Опис зрозуміліше повірте :)

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

Блоками не можу - такий алгоритм. Добре, дякую за сприяння. Шукатиму спосіб розважити користувача.

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

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

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

Патова ситуація. Як завдання, постановки завдання, розробки плану тощо. не було. Були вказівки шефа – ось це я хочу так, а це так. Якщо ці ремарки зібрати воєдино, вийде набір рекомендації щодо створення інтерфейсу. А решта кривими ручками: як бог на душу покладе.

Спробуй при створенні RichEdit ставити Visible = false і включай візуалізацію при виборі сторінки TabbednoteBook