powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Фильтр формы и быстродействие
2 сообщений из 2, страница 1 из 1
Фильтр формы и быстродействие
    #32495571
yuniki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не происходит ли замедления работы с фильтром в форме без WHERE по сравнению с такой-же формой без фильтра но с источником с условием WHERE!
Короче интересует механизм работы фильтра с т.зр. быстродйствия !
...
Рейтинг: 0 / 0
Фильтр формы и быстродействие
    #32495631
Exquisite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то занимался подобными изысканиями через выполнение кучи тестов. Интересовало быстродействие в момент открытия формы. Результат - на 23 страницах мелким-мелким шрифтом :) , поэтому кратко:

Если фильтр установлен в запросе (WHERE), то данные сначала фильтруются и лишь затем предоставляются форме в количестве от нуля (если нет соответствующих условиям отбора записей) до 501 записей (если записей больше чем 501). Все записи после 501-ой загружаются позже, в момент простоя компьютера (когда пользователь не тыкает кнопки и не дергает мышку).

Если фильтр устанавливается через свойство формы, в форму грузятся от нуля (если записей нет вообще) до 501 записей (если записей больше 501) и лишь затем применяется фильтр, который из этих 501 оставляет только те, которые соответствуют условиям отбора.

Как думаешь, в каком варианте выполняется двойная работа (по загрузке записей)? Хотя, выигрыш не очень значителен - максимум 15-20%.

Более значимым является фильтр производится по индексированному полю или нет! Если фильтр по неиндексированному полю, то аксес вынужден просматривать каждую запись и дабы это не затянулось на долгие минуты твоего ожидания, выберает только такое количество записей, которое необходимо отобразить на экране (если на экране у тебя помещается 15 строк, то и отберет он исключительно 15 записей), а остальное уже после открытия формы во время простоя компьютера или насильных действий пользователя по прокрутке экрана.
Если фильтр по индексированному полю, то отбираются от нуля до 501 записи, а остальное во время простоя компьютера.
Разница между фильтрацией по индексированному и неиндексированному полям может отличаться в разы! При этом, правда, сохраняется тенденция роста производительноси при выполнении фильтрации в запросе (на всё те же самые 15-20%).

С сортировкой все еще круче, но это не в тему...
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Фильтр формы и быстродействие
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]