|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.03.2012, 03:20 | #1 |
Пользователь
Регистрация: 27.03.2011
Сообщений: 22
|
Ускорить процесс выгрузки из БД
Всем привет, выгружаю данные из БД ADO
Вот код Код:
|
24.03.2012, 05:36 | #2 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
Грузить не ВСЕ записи, а только нужные. Если нужны ВСЕ записи сразу (в чём сомневаюсь) то грузить по крайней мере не все поля.
|
24.03.2012, 08:04 | #3 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
Items.BeginUpdate/Items.EndUpdate
Код:
Не стесняемся, плюсуем!
Последний раз редактировалось Slym; 24.03.2012 в 08:07. |
24.03.2012, 08:42 | #4 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
Это даст 2 от силы 3 секунды выигрыша,
хотя тоже не лишние.. |
24.03.2012, 15:54 | #5 |
Пользователь
Регистрация: 27.03.2011
Сообщений: 22
|
Спасибо за ответы.
Нужны все записи потому что у меня аудиоплеер и база данных музыки. Поэтому даже 2-3 секунды решают. Вообще было бы идеально грузить записи по мере прокрутки в listbox , только я что-то не нашел информации по этому поводу. Последний раз редактировалось Jl6owa; 24.03.2012 в 15:56. |
24.03.2012, 16:44 | #6 |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
Мне кажется, что главная задержка именно из-за листбокс-ов (хотя с BeginUpdate - EndUpdate, как написали выше, может и не будет задержки, хз).
1. Создать два Stringlist-а и записывать данные не в listbox-ы, а в Stringlist-ы (которые висят в памяти и не влияют на визуализацию). Потом в конце цикла сбросить одним махом Stringlist-ы в Listbox-ы. Может я и не прав, но по идее это должно ускорить процесс. 2. А без листбоксов и цикла обойтись нельзя? Например, DBGrid. Не помню как себя ведет стандартный TDBLookupList (кажется, он работает только с TTable), но TJvDBLookupList из набора JEDI сразу загрузит в себя нужное поле (хотя я и не люблю DB-компоненты). И циклы не нужны будут. |
24.03.2012, 20:18 | #7 |
Пользователь
Регистрация: 27.03.2011
Сообщений: 22
|
_SERGEYX_
Первый вариант пришёл в голову буквально 10 минут назад. Именно то что мне надо. Работает почти моментально. А насчёт второго, так с Listbox проще.(Тоже не люблю DB компоненты) Всем спасибо за внимание. |
24.03.2012, 20:20 | #8 |
!=
Участник клуба
Регистрация: 08.09.2008
Сообщений: 1,751
|
|
29.03.2012, 02:13 | #9 |
Пользователь
Регистрация: 27.03.2011
Сообщений: 22
|
Всё таки оказалось что вся проблема в Htmlistbox.
Стандартный istbox работает мгновенно, а этот тормозит. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ускорить процесс поворота эллипса на Delphi ( Платная консультация ) | Victor1963 | Фриланс | 0 | 22.02.2012 19:51 |
Ускорить процесс | Victor1963 | Помощь студентам | 0 | 15.11.2011 12:06 |
Ускорить процесс. | Victor1963 | Общие вопросы Delphi | 3 | 23.06.2011 21:51 |
Помогите ускорить процесс копирование столбцов с ГПР | sergiksergik | Microsoft Office Excel | 2 | 21.05.2009 20:46 |