| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > скорость поиска данных. |
| Автор: malxazibb 4.9.2009, 21:40 |
| Приветствую всех? На днях создал программу в Delphi бази данных людеи через БД Access. При поиске введя букви в Edit программа тормозит виводa данных в DBGrid буквально по буквам. Может кто обяснит в чем проблема. БД весит всего 64MB. |
| Автор: malxazibb 5.9.2009, 07:58 |
| Что никто не знает или никто не хочет отвечать на этот вопрос. |
| Автор: Keeper89 5.9.2009, 14:54 |
| Код при изменении эдита в студию. Скорее всего выполняется запрос типа фильтра по сто раз. |
| Автор: Данкинг 5.9.2009, 16:32 |
Согласен! Сформулируй нормально вопрос. Как ищешь - через Locate? Через AdoQuery запросом? Поля индексированы? |
| Автор: former 5.9.2009, 18:40 |
Да 100%! malxazibb, кинь на форму таймер и делай задержку при вводе данных для поиска. |
| Автор: malxazibb 6.9.2009, 07:08 | ||
| Спасибо всем кто не поленился и ответил на мои вопрос. вот мои код.
former какои код поставит на таимер? |
| Автор: Данкинг 6.9.2009, 09:13 |
| Ну правильно, если у тебя по вводу каждой буквы вызывается запрос на выборку, да ещё с тремя условиями. Если много записей - притормаживать будет, тем более, для Access'а 64 мега - это не так уже и мало. Да, и ну и всё же сделай индексацию по тем полям, в которых осуществляется поиск. |
| Автор: malxazibb 6.9.2009, 11:12 |
| Если индексациа поможет попробую. Но может ест какои нибуд другои способс чтоби виити из такои ситуации. |
| Автор: malxazibb 6.9.2009, 12:17 |
| Спасибо Данкинг за совети. А про грамматику не надо гаварить, главное написано понятливо. |
| Автор: MetalFan 6.9.2009, 16:58 |
| malxazibb, еще как надо. это русскоязычный форум. |
| Автор: Akella 7.9.2009, 14:05 | ||
Ты уверен, что акцесс использует индексы при использовании в запросе LIKE? Ы!!!?? |
| Автор: Akella 7.9.2009, 14:32 |
На _такие_ вопросы мало кто хочет отвечать. Детский сад какой-то. http://forum.vingrad.ru/index.php?showtopic=48007&view=findpost&p=373806 |