Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.30;
Скачать: CL | DM;

Вниз

Ускорение поиска   Найти похожие ветки 

 
_Andrew_   (2003-06-07 02:05) [0]

Доброй ночи, уважаемые!
Подскажите плз, решение след. проблемы:
есть ДАТАСЕТ с большим набором данных (5000 записей).
Пытаюсь для TEdit сделать нечто MRUListа, для чего пишу:
procedure Form1.Edit1Change(Sender: TObject)
....
if DataSet1.Locate("Name",Edit1.Text,[]) then begin
Edit1.Text := DataSet1.Fields[0].AsString;
....

Все бы ничего, но только на Cel400, при первом Locate происходят страшные томоза :(
Как можно ускорить поиск по ДАТАСЕТУ???


 
Basic ©   (2003-06-07 02:27) [1]

проиндексируй по полю NAME и будет уже ускоренный поиск а не перебор


 
kaif ©   (2003-06-07 03:48) [2]

Если используется Locate в Query, то индексирование не поможет. Нужно просто сделать второй запрос (использовать отдельный компонент для него). Причем в той же транзакции. Это быстро сработает даже без индекса. А Locate очень медленный метод, так как требует fetch всех записей на клиент и ищет перебором этих записей.


 
Alexandr ©   (2003-06-07 09:53) [3]

вот он про первый locate и говорит. Это из-за фетча, ане из-за поиска.
Надо запрос оптимизировать



Страницы: 1 вся ветка

Текущий архив: 2003.06.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
6-97761
Серж
2003-04-21 11:19
2003.06.30
Как узнать подключен ли компьютер к интернету???


3-97531
Viktor
2003-06-06 13:09
2003.06.30
TUpdateSQL : как удалить последнюю запись в датасете ?


14-97788
Артурчик
2003-06-13 10:57
2003.06.30
На source.ru праздник


14-97811
Caponid
2003-06-11 19:07
2003.06.30
Кто нить работал с QReport или ссылки знает?


14-97879
Видеоман
2003-06-09 23:08
2003.06.30
Как склеить mpg-файлы?