AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
NAV
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.10.2007, 14:24   #21  
Advisor is offline
Advisor
Участник
 
33 / 13 (1) ++
Регистрация: 07.09.2005
У меня на Nav 3.6 + SQL2000
Код

GLEntry.RESET;
GLEntry.SETCURRENTKEY("Transaction No.");
GLEntry.SETRANGE("G/L Account No.",'60007');
GLEntry.SETRANGE("Posting Date",010107D,310307D);
IF GLEntry.FIND('-') THEN ;

отрабатывал в разы быстрее, чем

GLEntry.RESET;
GLEntry.SETRANGE("G/L Account No.",'60007');
GLEntry.SETRANGE("Posting Date",010107D,310307D);
IF GLEntry.FIND('-') THEN ;

Хотя выбор индекса действительно осуществлялся независимо от GLEntry.SETCURRENTKEY("Transaction No.").
Точнее если закомментирована строка GLEntry.SETRANGE("Posting Date",010107D,310307D);, то индекс по "Transaction No.",
а если нет, то индекс, который включал оба фильтруемых поля.

Во втором случае всегда использовался кластерный индекс. весьма небыстро отрабатывал. P.S. 17 таблица более 3 млн записей
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:27.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.