Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Поиск па базу данных...


Автор: Pakshin A. S. 10.7.2003, 22:37
Чем лучше и быстрей пользоваться при поиске в базе данных SQL-запросом или тупым перебором, допустим, в DBGide или Table?

P. S.
Допустим таблица из 100000 записей... тама есть два поля Имя и Фамилия, они отсортированы по алфавиту. Требуется найти Фамилию по Имени. Допустим пользователь ввёл 100000 Фамилию...

Автор: Pakshin A. S. 10.7.2003, 22:41
Sorry за опечатки в названии темы, пишу с полузакрытыми глазами, т. к. спать очень охото...........

Автор: Vit 10.7.2003, 23:17
1) SQL всегда быстрее
2) Если сделаешь вторичный индекс по Имени, то SQL будет искать фамилию по имени практически мгновенно.
3) Никогда нельзя пользоваться перебором, если его можно заменить на SQL

Автор: Cashey 11.7.2003, 09:06
Цитата
2) Если сделаешь вторичный индекс по Имени, то SQL будет искать фамилию по имени практически мгновенно.

SQL игнорирует индексы и работает на прямую с файлом. Поэтому в принципе нет разницы чем искать SQL или функциями поиска по индексу (FindKey, например)

Автор: Medved 11.7.2003, 10:24
Цитата(Cashey @ 11.7.2003, 12:06)
Цитата
2) Если сделаешь вторичный индекс по Имени, то SQL будет искать фамилию по имени практически мгновенно.

SQL игнорирует индексы и работает на прямую с файлом. Поэтому в принципе нет разницы чем искать SQL или функциями поиска по индексу (FindKey, например)

2Cashey - это относиться только к локальным БД. А с клиент серверными - так как сказал Вит.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)