Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
MSSQL2000 server-side cursor, ADO - rs.Find, - полный перебор?
|
|||
|---|---|---|---|
|
#18+
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 нужной записи ипользовать запрос, то ни к чему тогда использовать полную выборку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2001, 02:19 |
|
||
|
MSSQL2000 server-side cursor, ADO - rs.Find, - полный перебор?
|
|||
|---|---|---|---|
|
#18+
Читайте доки, они - рулез Find действительно не использует индексы, да и как могут табличные индексы использоваться для поиска по результату запроса. Для этого надо seek, который adCmdTableDirect only, что неприятно, хотя и правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2001, 04:58 |
|
||
|
|

start [/forum/topic.php?fid=60&tid=2171679]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
3ms |
| others: | 19ms |
| total: | 136ms |

| 0 / 0 |
