Хотя определение времени играет не последнюю роль, но только на основе этой информации невозможно судить о производительности приложения во время разработки. Скорее всего, разработка происходит. на высокоскоростном компьютере, и тестирование производится на небольшом наборе тестовых данных, который наверняка меньше набора, используемого настоящим приложением. Более того, таймер не может сообщить, как будет выполняться приложение на другом компьютере с меньшим объемом памяти или более низкоскоростным диском. Для более точного наблюдения за приложением можно воспользоваться другой недокументированной функцией — ISAMStats. Функция ISAMStats не документирована и не поддерживается, поэтому информацию, которую она сообщает, можно использовать лишь в качестве общих указаний. При запуске функция производит измерение шести важных оказывающих влияние на производительность операций. Она подсчитывает все обращения чтения и записи на диск, обращения чтения в кэше, опережающего чтения, размещения блокировок и освобождения блокировок. Данную функцию можно использовать в Access 2000 и предыдущих версиях Access. Синтаксис функции очень простой:
DBEngine.ISAMStats(опция,[reset])
Существует шесть возможных значений для аргумента опция:
Значение аргумента опция |
Описание |
0 1 2 3 4 5 |
Запись на диск Чтение с диска Чтение из КЭШа Чтение из кэша (опережающее чтение) Размещение блокировки Освобождение блокировки |
Необязательный параметр переустановки позволяет переустановить отдельные счетчики на нулевое значение. Чтобы воспользоваться данной функцией для оценки производительности, необходимо либо вычесть одни показания из предыдущих, либо переустановить счетчик на нулевое значение и затем вы-поднять оценку. В листинге 2 приведен один из способов использования функции ISAMStats
для оценки производительности.
Листинг 2. Один из способов использования ISAMStats
для оценки производительности.
Sub PrintStats()
Dim i As Integer
Debug.Print