powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подключение индексов в ADO
7 сообщений из 7, страница 1 из 1
Подключение индексов в ADO
    #34180353
Pr0teus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Работаю с БД Fox Pro 6.0 через ADO. И часто приходиться выполнять запрос вида

Код: plaintext
1.
2.
SELECT * FROM table WHERE dbid=ln_id .AND. recid=ln_recid


Можно ли сделать так, чтобы драйвер использовал индексы для поиска данной записи, а то все больно медленно получается, если в сумме считать, т.к. таких однотипных запросов много.
...
Рейтинг: 0 / 0
Подключение индексов в ADO
    #34180359
Pr0teus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добавление: прога, которая достукивается до данных, на Visual Basic 6.0 написана
...
Рейтинг: 0 / 0
Подключение индексов в ADO
    #34180710
Andrey Ts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pr0teus...
Можно ли сделать так, чтобы драйвер использовал индексы для поиска данной записи, а то все больно медленно получается, если в сумме считать, т.к. таких однотипных запросов много.

Найдите и прочтите это в HELP для вашего драйвера - вероятно, по ключевому слову ИНДЕКС
...
Рейтинг: 0 / 0
Подключение индексов в ADO
    #34180740
Pr0teus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я тут поэкспериментировал. Поставил Regular индекс на поля dbid и recid (вручную). Все стало гораздо быстрее работать. Хотя я в программе на Basic'е я явно не указывал установку индекса, т.к. просто не знаю, как это сделать. Получается драйвер автоматически подхватил индекс, но вот вопрос вчера тоже создавали теже самые индексы (это делали из проги написанной на фоксе) и прога их не схватила и работала также медленно. Может проблема в COLLATE?
...
Рейтинг: 0 / 0
Подключение индексов в ADO
    #34181355
Igor86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если с Фксовыми БД работаете через ADO, то лучше использовать Фоксовый OLEDB провайдер. Берите лучше самый последний, т.к меньше глюков и MS в нем подкручивала оптимизатор запросов. В Вашем контретном случае должна отработать Рамшор оптимизация, но дя этого обязательно нужны индексы дла полей dbid и recid. Рамшор оптимизатор автоматически подхватывает индексы и это значительно ускоряет работу запроса. От того на чем написана программа значения не имеет - работает в этом случае драйвер OLEDB. Если мне не изменяет память, то по умолчанию COLLATE = Machine.
...
Рейтинг: 0 / 0
Подключение индексов в ADO
    #34181450
Pr0teus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Правильно ли я понял, что для такого типа запроса

Код: plaintext
1.
SELECT * FROM table WHERE dbid=ln_id .AND. recid=ln_recid

нужно сделать следующие индексы, чтобы заработал Rushmor
[Name] [Type] [Expression]
dbid Regular dbid
recid Regular recid
...
Рейтинг: 0 / 0
Подключение индексов в ADO
    #34183995
Igor86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотри пример создания индексов, для Фоксовых таблиц, используя Фоксовый OLEDB. Как раз твой вариант. И еще - чтобы работал Рамшор оптимизатор индексы подключать не надо (так MS пишет).
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подключение индексов в ADO
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]