Find или Seek?

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Dummiel
Бывалый
Бывалый
 
Сообщения: 235
Зарегистрирован: 11.06.2004 (Пт) 9:15
Откуда: Алтай

Find или Seek?

Сообщение Dummiel » 06.07.2006 (Чт) 10:39

Здравствуйте!

Подскажите, какой метод быстрее работает - Find или Seek?
Работая на СУБД dBase III и Clipper при индексированных БД быстрее работал Seek, в то время как Find тупо перебирал рекорды
по порядку, пока не находил то, что нужно.

А как на VB6? Спасибо

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.07.2006 (Чт) 11:38

Язык программирования тут не причем.
Если используется DAO, то однозначно Seek.
Если используется ADO, то он умеет использовать индексы, поэтому Seek там неактуален. Но если есть потребность конкретно указать индекс, по которому осуществляется поиск, то в ADO тоже можно использовать Seek. Но это применимо только в mdb-файлам, при этом рекордсет надо открывать как adCmdTableIndirect.
Lasciate ogni speranza, voi ch'entrate.

Dummiel
Бывалый
Бывалый
 
Сообщения: 235
Зарегистрирован: 11.06.2004 (Пт) 9:15
Откуда: Алтай

Сообщение Dummiel » 06.07.2006 (Чт) 13:17

Пребольшое преспасибо!!! :-)

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 07.07.2006 (Пт) 10:38

alibek писал(а):Если используется ADO, то он умеет использовать индексы, поэтому Seek там неактуален.


В ADO для клиентского курсора можно пользовать Optimize. А уже потом - Find или Filter по потребности. Удобно, между прочим...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

nat-z
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 18.11.2006 (Сб) 19:58

Сообщение nat-z » 10.01.2007 (Ср) 16:00

alibek писал(а):Язык программирования тут не причем.
Если используется DAO, то однозначно Seek.
Если используется ADO, то он умеет использовать индексы, поэтому Seek там неактуален. Но если есть потребность конкретно указать индекс, по которому осуществляется поиск, то в ADO тоже можно использовать Seek. Но это применимо только в mdb-файлам, при этом рекордсет надо открывать как adCmdTableIndirect.


А можно из VB обращаться к клипперовским dbf-файлам и использовать индексы (*.ntx) и как???


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList