Поиск:

Ответ в темуСоздание новой темы Создание опроса
> скорость поиска данных. 
:(
    Опции темы
malxazibb
Дата 4.9.2009, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 20.8.2009

Репутация: нет
Всего: нет



Приветствую всех?

На днях создал программу в Delphi бази данных людеи через БД Access. При поиске введя букви в Edit
программа тормозит виводa данных в DBGrid буквально по буквам. 

Может кто обяснит в чем проблема. БД весит всего 64MB.

Это сообщение отредактировал(а) malxazibb - 4.9.2009, 21:43
PM MAIL   Вверх
malxazibb
Дата 5.9.2009, 07:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 20.8.2009

Репутация: нет
Всего: нет



Что никто не знает или никто не хочет отвечать на этот вопрос.
 smile  smile 
PM MAIL   Вверх
Keeper89
Дата 5.9.2009, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 1
Всего: 58



Код при изменении эдита в студию. Скорее всего выполняется запрос типа фильтра по сто раз.


--------------------
PM MAIL WWW   Вверх
Данкинг
Дата 5.9.2009, 16:32 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(malxazibb @  4.9.2009,  22:40 Найти цитируемый пост)
Приветствую всех?

Согласен! smile 

Сформулируй нормально вопрос. Как ищешь - через Locate? Через AdoQuery запросом? Поля индексированы?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
former
Дата 5.9.2009, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 7
Всего: 17



Цитата(Keeper89 @  5.9.2009,  14:54 Найти цитируемый пост)
Скорее всего выполняется запрос типа фильтра по сто раз. 

Да 100%!

malxazibb, кинь на форму таймер и делай задержку при вводе данных для поиска.


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
malxazibb
Дата 6.9.2009, 07:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 20.8.2009

Репутация: нет
Всего: нет



Спасибо всем кто не поленился и ответил на мои вопрос.
вот мои код.

Код

procedure TForm1.Edit1Change(Sender: TObject);
begin
DataModule3.ADOQuery1.Active:=false;
DataModule3.ADOQuery1.SQL.Clear;
DataModule3.ADOQuery1.SQL.Add('SELECT * FROM TMosaxleoba WHERE gvari LIKE '''+Edit1.Text+'%''and saxeli LIKE '''+Edit2.Text+'%''and mamissax LIKE '''+Edit3.Text+'%''');
DataModule3.ADOQuery1.Active:=true;
Form1.Label1.Caption:=DataModule3.ADOQuery1.FieldValues ['gvari'];
end;


 former какои код поставит на таимер?     

Это сообщение отредактировал(а) malxazibb - 6.9.2009, 07:14
PM MAIL   Вверх
Данкинг
Дата 6.9.2009, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Ну правильно, если у тебя по вводу каждой буквы вызывается запрос на выборку, да ещё с тремя условиями. Если много записей - притормаживать будет, тем более, для Access'а 64 мега - это не так уже и мало.
Да, и ну и всё же сделай индексацию по тем полям, в которых осуществляется поиск.

Это сообщение отредактировал(а) Данкинг - 6.9.2009, 09:39


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
malxazibb
Дата 6.9.2009, 11:12 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 20.8.2009

Репутация: нет
Всего: нет



Если индексациа поможет попробую.
Но может ест какои нибуд другои способс чтоби виити из такои ситуации.
PM MAIL   Вверх
Данкинг
Дата 6.9.2009, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(malxazibb @  6.9.2009,  12:12 Найти цитируемый пост)
Но может ест какои нибуд другои способс чтоби виити из такои ситуации. 

Это на каком языке было написано? smile 

Индексацию попробуй, в общем. Так всё правильно: быстрее запроса вряд ли ты что придумаешь.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
malxazibb
Дата 6.9.2009, 12:17 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 20.8.2009

Репутация: нет
Всего: нет



Спасибо Данкинг за совети.

А про грамматику не надо гаварить, главное написано понятливо.
PM MAIL   Вверх
MetalFan
Дата 6.9.2009, 16:58 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: нет
Всего: 128



malxazibb, еще как надо. это русскоязычный форум.


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Akella
Дата 7.9.2009, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(Данкинг @  6.9.2009,  09:13 Найти цитируемый пост)
Да, и ну и всё же сделай индексацию по тем полям, в которых осуществляется поиск.

Ты уверен, что акцесс использует индексы при использовании в запросе LIKE?


Цитата(malxazibb @  6.9.2009,  12:17 Найти цитируемый пост)
А про грамматику не надо гаварить, главное написано понятливо. 

Ы!!!??
PM MAIL   Вверх
Akella
Дата 7.9.2009, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(malxazibb @  5.9.2009,  07:58 Найти цитируемый пост)
Что никто не знает или никто не хочет отвечать на этот вопрос.

На _такие_ вопросы мало кто хочет отвечать. Детский сад какой-то.

И вот ещё - как не надо задавать вопросы  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0768 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.