Распечатать страницу

Потенциально оптимизируемые команды Visual FoxPro

« Назад

Следующие команды, если они выполняются с опцией FOR, потенциально рашмор-оптимизируемые:

AVERAGE

BLANK

BROWSE

CALCULATE

CHANGE

COPY

COPY TO ARRAY

COUNT

DELETE

DISPLAY

EDIT

EXPORT

INDEX

LABEL

LIST

LOCATE

RECALL

REPLACE

REPLACE FROM ARRAY

REPORT

SCAN

SET DELETED

SET FILTER

SORT

SUM

TOTAL

 

 

Если наряду с опцией FOR используется Scope, то оптимизация может быть выполнена, если Scope – это ALL (используется по умолчанию) или REST.

Рашмор-оптимизация оперирует любым подходящим открытым индексом, кроме UNIQUE-индексов и индексов с фильтрами.

Рашмор-оптимизация будет более эффективна, если не установлен активный индекс. Так, код

scan for Between(AuthorId, 500, 700)

? Author                             && Печатаем поле Author таблицы Authors

endscan

будет более продуктивен, если перед циклом вместо

use Authors order tag AuthorId

употребить

use Authors

Тег AuthorId не является активным, но он открыт, поскольку является частью структурного индекса, открываемого вместе с таблицей.

Рашмор-оптимизация не будет выполняться, если:

- не удается оптимизировать FOR-выражение;

- команда помимо опции FOR содержит опцию WHILE или Scope со значением NEXT или значением RECORD;

- недостаточен объем оперативной памяти.