|
Вопрос об Индексах, Рекордсетах и быстром поиске ADO
|
|||
---|---|---|---|
#18+
Есть у меня таблица MainData. Есть в ней кроме всего прочего поля проиндексированные AnswerId и QuestionId. Делаю я запрос: r1.Open("SELECT * FROM MainData WHERE AnswerID<>1", , ADODB.CursorTypeEnum.adOpenStatic,,ADODB.LockTypeEnum.adLockReadOnly, ) После этого мне нужно из оставшихся записей отобрать все записи с определенным QuestionID. Использовать метод Seek я не могу? Ведь текущий индекс я е могу установить для такого рекордсета. Буду использовать Find. Будет ли в данном случае индекс по QuestionID ускорять поиск по r1? Можно ли как-то ускорить поиск по открытому рекордсету. Второй вопрос. У меня есть таблица с 3 индексами. Мне в нее нужно добавить пару сотен записей. Могу ли я временно отключить индексы, добавить записи, а потом перестроить индексы? Пользуюсь я ADO и VB.NET ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2003, 12:27 |
|
Вопрос об Индексах, Рекордсетах и быстром поиске ADO
|
|||
---|---|---|---|
#18+
На счет Find не знаю, вероятно будет. Т.к. Это тот же T-sql. А по индексам смотри DBCC CHECKIDENT. Если нужно вставить какое то значение и нет дубляжей то поможет Код: plaintext 1.
и далее вставляй что хочешь , потом прогониу индексы через DBCC CHECKIDENT. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2003, 22:53 |
|
Вопрос об Индексах, Рекордсетах и быстром поиске ADO
|
|||
---|---|---|---|
#18+
Хммм... А что такое DBCC CHECKIDENT? Я не нашел ничего подобного в ADO Help... ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2003, 14:19 |
|
Вопрос об Индексах, Рекордсетах и быстром поиске ADO
|
|||
---|---|---|---|
#18+
Это надо смотреть в BOL а не ADO help... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
делаешь Код: plaintext 1.
А потом через DBCC CHECKIDENT можешь измянить их. Или ты хочешь престроить структуру индексов? Тогда просто удали и создай заново после вставки. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2003, 15:54 |
|
Вопрос об Индексах, Рекордсетах и быстром поиске ADO
|
|||
---|---|---|---|
#18+
1.те индексы, которые есть в БД - в recordset не используются 2.ускорить поиск можно через установку свойства r1("имяполя").Properties("Optimize")=True будет построен индекс для быстрого Find по этому полю 3.если у тебя ms-sql, зайди в дизайн таблицы, отключи индексы, включи индексы и не сохраняя изменений посмотри Change Script (в toolbar третья кнопка слева). эти команды перенеси и выполни программно через Command ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2003, 15:55 |
|
|
start [/forum/topic.php?fid=60&gotonew=1&tid=2171342]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
35ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 305ms |
total: | 440ms |
0 / 0 |