Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.06.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
_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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.008 c
1-97617
Non
2003-06-19 14:10
2003.06.30
TIniFile -- непонятный глюк


6-97776
Nesterovsky
2003-04-23 23:04
2003.06.30
Как можно отобразить .eml файл


3-97516
alxx
2003-06-04 15:30
2003.06.30
Связанные MS SQL Сервера.


1-97716
Zerg5
2003-06-18 13:21
2003.06.30
Время создания файла в виде MMDD : String


3-97476
Term
2003-06-04 14:23
2003.06.30
Проблема с dbf файлом!!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский