|
|
|
Подключение индексов в ADO
|
|||
|---|---|---|---|
|
#18+
Работаю с БД Fox Pro 6.0 через ADO. И часто приходиться выполнять запрос вида Код: plaintext 1. 2. Можно ли сделать так, чтобы драйвер использовал индексы для поиска данной записи, а то все больно медленно получается, если в сумме считать, т.к. таких однотипных запросов много. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2006, 13:38 |
|
||
|
Подключение индексов в ADO
|
|||
|---|---|---|---|
|
#18+
Добавление: прога, которая достукивается до данных, на Visual Basic 6.0 написана ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2006, 13:39 |
|
||
|
Подключение индексов в ADO
|
|||
|---|---|---|---|
|
#18+
Pr0teus... Можно ли сделать так, чтобы драйвер использовал индексы для поиска данной записи, а то все больно медленно получается, если в сумме считать, т.к. таких однотипных запросов много. Найдите и прочтите это в HELP для вашего драйвера - вероятно, по ключевому слову ИНДЕКС ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2006, 15:04 |
|
||
|
Подключение индексов в ADO
|
|||
|---|---|---|---|
|
#18+
Я тут поэкспериментировал. Поставил Regular индекс на поля dbid и recid (вручную). Все стало гораздо быстрее работать. Хотя я в программе на Basic'е я явно не указывал установку индекса, т.к. просто не знаю, как это сделать. Получается драйвер автоматически подхватил индекс, но вот вопрос вчера тоже создавали теже самые индексы (это делали из проги написанной на фоксе) и прога их не схватила и работала также медленно. Может проблема в COLLATE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2006, 15:11 |
|
||
|
Подключение индексов в ADO
|
|||
|---|---|---|---|
|
#18+
Если с Фксовыми БД работаете через ADO, то лучше использовать Фоксовый OLEDB провайдер. Берите лучше самый последний, т.к меньше глюков и MS в нем подкручивала оптимизатор запросов. В Вашем контретном случае должна отработать Рамшор оптимизация, но дя этого обязательно нужны индексы дла полей dbid и recid. Рамшор оптимизатор автоматически подхватывает индексы и это значительно ускоряет работу запроса. От того на чем написана программа значения не имеет - работает в этом случае драйвер OLEDB. Если мне не изменяет память, то по умолчанию COLLATE = Machine. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2006, 17:58 |
|
||
|
Подключение индексов в ADO
|
|||
|---|---|---|---|
|
#18+
Правильно ли я понял, что для такого типа запроса Код: plaintext 1. нужно сделать следующие индексы, чтобы заработал Rushmor [Name] [Type] [Expression] dbid Regular dbid recid Regular recid ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2006, 18:44 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34180740&tid=1590222]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
106ms |
get topic data: |
19ms |
get forum data: |
4ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 445ms |

| 0 / 0 |
