LEADERSOFT.ru
Разработка на заказ программ и сайтов
Разработка
Заказ программы
Прайс-лист
Техническое задание
Проектная документация
Наши клиенты
Реклама и продвижение
Магазин
Перейти в магазин
Новинки магазина
Бизнес программы
Финансовый учет
Документооборот
Исходные коды
Интернет решения
Обучение
Перейти в раздел
Форумы по разработке
Примеры на Access
Рассылка статей
Магазин IT литературы
Блог
Все статьи
Microsoft Access (VBA)
Microsoft Access (Проекты)
Microsoft ASP.NET
Сервисы Google
Технические задания
Новости IT технологий
Сервисы
Форумы разработчика
Контакты
О компании
Регистрация на сайте
Подписка на новости по Email
Сообщество Google+
Подписка subscribe.ru
Новости в формате Атом
Загрузить
Загрузить каталог программ
Форумы по информационным технологиям
Начало
Forums
Регистрация
|
Вход
Forums
Обновлено ::
29 апреля 2024
Форумы
Поиск
Список форумов
Программирование
Microsoft Access. Файлы mdb и accdb
Тема: Как увели...
Тема: Как увеличить скорость программы
15.06.2007 19:52:31
All
4316 сообщения
Тема: Как увеличить скорость программы
Как можно увеличить скорость программы?
P.S. Увеличение скорости
Автор:
Вопрос 1
от 0:00:00
Источник ...
15.06.2007 19:52:31
All
4316 сообщения
RE: Как увеличить скорость программы
Искал как-то я в Интернете решение проблемы "Переменная высота строк в отчете". Серьезной информации по отчетам не было, нашел только решение с подсчетом символов в поле. Применять его было нельзя из-за сложного алгоритма. Самостоятельно вышел на изящное решение, что надо рисовать прямоугольник вокруг поля при обработке события отчета Print. Смотрите файл: la_report.mdb, подписка 13 от 10.10.2000. Сейчас "обкатываю" еще одно оригинальное решение на эту тему. Заглянул на всякий случай в Рунет и нашел, что один "гений" в алгоритме по рисованию поля заменил шустрый оператор if else на "новейшую мину замедленного действия" - IIF(двойной если). А "Профи" настоятельно не рекомендуют применять его в basic- программах. Даю расшифровку фразы. "Миной замедленного действия" IIF() можно назвать потому, что он значительно моложе и на 70% медленнее оператора if else, да еще при неосторожном использовании приводит к "сваливанию" программы. Это анти-решение и подсказало мне опубликовать несколько коротких фраз по оптимизации кода. Повышение производительности базы данных в процентах указано в скобках. Информация сокращена до минимума. Надеюсь Вам будет понятно, о чем идет речь, но если, что неясно - пишите.
01. Используй оператор if else, вместо IIF() [70%]
02. Используй Long, т.е. Long лучше Byte, Integer и, конечно, Variant [20%,50%]
03. Применяй If-Else, чем Switsh, Shoose [50%]
04. Лучше проверяй строку так Len(s) = 0, чем s = "" [40%]
05. Лучше инициализируй строку так s = vbNullString, чем s = "" [65%]
06. Если возможно пиши так s = "AB", чем s = "A" & "B" [85%]
07. Вставляй строку в текст так Mid$(s,3,4)="like", чем s = Left$(s,2) & "like" & Mid(s,7) [45%]
08. Сравнивай строки так If StrComp(s1,s2,vbTextCompare) =0 then, чем If Ucase(s1) = Ucase(s2) [55%]
09. Лучше используй $-функцию, т.е. Left$ лучше Left [40%]
10. Цикл For...Next работает быстрее Do...Loop [50%]
11. При обработке целых чисел пиши j=i\10, чем j=i/10 [30%]
12. Точнее объявляй объекты: as CommandButton лучше As Control, еще лучше as Object [90%]
13. Цикл For Each...Next лучше, чем цикл For...Next для семейств объектов [98%].
14. Цикл For ...Next лучше, чем цикл For Each...Next для массивов [25%].
P.S. 1. Все тесты на скорость придумали и провели для Access 2000: Кен Гетц, Пол Литвин и Майк Гилберт. За что им большое спасибо.
2. Запомните наизусть фразу из документации по VBA, самый короткий код - не самый быстрый. Есть еще предложения по оптимизации кода, их я опубликую позже.
P.S. Увеличение скорости
Автор:
Виктор Конюков
от 0:00:00
Источник ...
Страница 1 из 1
Программирование
Microsoft Access. Файлы mdb и accdb
Тема: Как увели...
Одноуровневый вид
Древовидная структура
Самый старый из новых
Новейший из старых
Поиск
Список форумов
Начало
|
Forums
Copyright 2002-2016 Leadersoft.ru
::
Leadersoft
::
Соглашение о безопасности
::
Условия использования