Вниз
Скачать: 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.988 c
4-59515
TankMan
2002-10-07 00:52
2002.11.18
Список запущенных процессов


3-59015
VikOss
2002-10-29 14:09
2002.11.18
InterBase


1-59211
MsGuns
2002-11-06 11:51
2002.11.18
2 экземпляра TIniFile


1-59153
pag77
2002-11-08 19:32
2002.11.18
кто знает как MessageDlg вывести поверх всех окон?


1-59263
The_Vizit0r!
2002-11-07 13:07
2002.11.18
Помогите




   Наверх