Access 2002

7% от времени выполнения цикла очистки


В наших тестах время выполнения этого оператора составило всего 7% от времени выполнения цикла очистки коллекции. (Просмотрите также полные тестовые процедуры Test23a и Test23b в модуле класса OptimizingTests.)

Тест 24: Используйте раннее связывание

Если вы объявляете тип переменной как Object, это значит, что вы просите VBA определить характеристики объекта во время выполнения программы. Если же вы задаете конкретный тип объектной переменной, VBA может определить ее содержимое еще на этапе компиляции. Написанный код при этом выполняется гораздо быстрее.

Например, если определить переменную для поля набора записей ADO не как Object, а как ADODB.Field, доступ к свойствам этого объекта значительно ускорится. Наша тестовая процедура была такой:

Время выполнения этого кода составило всего 7% от времени выполнения такого же кода с переменной fid типа Object. (Просмотрите также полные тестовые процедуры Test24a и Test24b в модуле класса OptimizingTests.)

В этой главе мы предложили вам множество способов повышения производительности приложений Access. В частности, вы знаете:

как Jet оптимизирует и выполняет запросы;

чем полезны недокументированный метод ISAMStats и недокументированная опция ShowPlan;

как оптимизировать Access;

как оптимизировать запросы;

как ускорить работу форм;

как ускорить формирование отчетов;

как VBA компилирует и загружает программный код и как, зная это, ускорить работу приложения;

какие приемы программирования дают выигрыш во времени выполнения кода;

О как тестировать предлагаемые усовершенствования.

Тысячу раз в день разработчик приложения оказывается перед выбором: как построить запрос, как заполнить поля отчета, как организовать цикл, какими функциями или операторами воспользоваться. Это те тысячи мелочей, из которых складывается производительность приложения. И хотя мы постарались осветить самые важные области оптимизации, очень многое осталось за рамками этой главы.

Комментарии закрыты