![]() |
#10 |
Участник
|
Цитата:
[codebox] TT := TIME; GLEntry.RESET; //GLEntry.SETCURRENTKEY("G/L Account No."); GLEntry.SETRANGE("G/L Account No.",'20.70'); IF GLEntry.FIND('-') THEN; MESSAGE('ok %1',TIME - TT);[/codebox] Время выполнения запроса - 4407ms. В Мониторе вижу, что SQL Plan = Clustered Index Scan(Test$G_L Entry$0)[3,1], SQL Index = "Операция Но.". Далее делаю так: [codebox] TT := TIME; GLEntry.RESET; GLEntry.SETCURRENTKEY("G/L Account No."); GLEntry.SETRANGE("G/L Account No.",'20.70'); IF GLEntry.FIND('-') THEN; MESSAGE('ok %1',TIME - TT);[/codebox] Время выполнения - 47ms. SQL Plan = Bookmark Lookup[3,1];Index Seek($1)[4,3], SQL Index = "Фин. Счет Но., Дата Учета, Операция Но.". Т.е., SETCURRENTKEY все-таки влияет на выбор ключа при выполнении запроса??? Или где я ошибся? PS: 3.70B, SQL2000. |
|