powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / MSSQL2000 server-side cursor, ADO - rs.Find, - полный перебор?
3 сообщений из 3, страница 1 из 1
MSSQL2000 server-side cursor, ADO - rs.Find, - полный перебор?
    #32016986
dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rs_.Find "MsgDate >=" + CStr(DateSerial(CInt(cmb_Year.Text), CInt(cmb_Month.BoundText), CInt(txt_Day.Text))), , adSearchForward, rs_First

где rs_ заполняется вызовом sp: select (поля) from tbl order by MsgDate,
rs_.moveFirst
rs_First = rs_.Bookmark

server-side, ReadOnly, 15000 записей (всего-то), одна табличка, по полю дата есть кластерный индекс
rs_.Find выполняется секунд 10, причем чем больше дата, тем дольше. Task manager при этом показывает загрузку процессора сервером примерно на 70% и клиентом на 30%

отсюда делаем вывод, что на сервере идет полный перебор по rs_ ?
Т.е. find не использует индексы? А если для получения ID нужной записи ипользовать запрос, то ни к чему тогда использовать полную выборку.
...
Рейтинг: 0 / 0
MSSQL2000 server-side cursor, ADO - rs.Find, - полный перебор?
    #32016988
dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читайте доки, они - рулез

Find действительно не использует индексы, да и как могут табличные индексы использоваться для поиска по результату запроса. Для этого надо seek, который adCmdTableDirect only, что неприятно, хотя и правильно.
...
Рейтинг: 0 / 0
MSSQL2000 server-side cursor, ADO - rs.Find, - полный перебор?
    #32017028
dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но что интересно, про ADO + Seek + SQLServer ни в книгах, ни в MSDN даже не упоминается.
Пока есть предположение, что Seek только для JetEngine.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / MSSQL2000 server-side cursor, ADO - rs.Find, - полный перебор?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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