Вниз
Скачать: CL | DM;

запрос на большую базу   Найти похожие ветки 

 
KonstVD   (2002-10-28 15:43) [0]

Есть таблица ~100000 записей. Допустим, есть поля - фамилия, имя, отчество и место работы длиной, скажем, по 25 символов. Плюс тут же еще куча информации (адрес, возраст и т.д.).
Результат запроса (только ФИО) выводится на dbgrid. Тут же Edit, по изменению содержимого которого нужно сразу искать человека в dbgrid и соответственно указатель на него. По желанию выводить все данные по найденному. Как можно сделать, чтобы эта система работала с более или менее приличной скоростью?


 
stone ©   (2002-10-28 16:23) [1]

Выводить все записи, а потом в них копаться - это абсурд.
Пользователь все равно не пролистает их все. Делай запрос, используя LIKE, выбирая записи в соответствии с указанной в едите частью фамилии


 
MVF   (2002-10-28 16:40) [2]

Такую базу надо бы проиндексировать причем тэги должны полностью совпадать с условиями в запросах. Например: индекс по полю FIO, в запросе в условиях писать FIO like ...


 
NickBat ©   (2002-10-28 17:18) [3]

Кажеться LIKE работает не по индексам, там ведь можно выбрать по вхождению. Но направление верное.


 
Darts   (2002-10-28 17:42) [4]

Проще в запрос включить и ID из таблицы. ID можно скрыть. Далее, при двойном щелчке по строке запроса можно узнать ID и передать в качестве параметра в поиск в первой таблице. Естественно, первая таблица должна проинндексирована по ID. Причем будем редактировать именно первую таблицу, а не запрос, что очень удобно.


 
KonstVD   (2002-10-29 07:46) [5]

Использовал я like... В данной задаче выходит по 500-1000 штук в запросе. Если фамилия, например начинается Ива... и т.д. то соответственно таких вылезает куча. А нельзя ли ограничить количество выбираемых запросом строк именно по заданному количеству?


 
MVF   (2002-10-30 09:29) [6]

Какие могут быть ограничения на количество строк?!
Ведь при этом меняется суть поиска.
Если уж на то пошло, так это добавить дополнительные условия выборки. Например условия для других полей (работа и т.д.)



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.018 c
3-59065
Max Zyuzin
2002-10-30 14:46
2002.11.18
Совет нужен


1-59217
denis-a
2002-11-06 16:21
2002.11.18
Документация по компоненту Async Professional ver. 4 for Delphi


6-59320
Рамблер
2002-09-18 15:16
2002.11.18
DCOM(COM+)


1-59129
appp
2002-11-08 13:10
2002.11.18
ListView


1-59081
Наталья С.
2002-11-06 00:12
2002.11.18
Открытие фала




   Наверх