powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Альтернатива Set Filter
5 сообщений из 5, страница 1 из 1
Альтернатива Set Filter
    #37400816
Арчи05
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте форумчане!

Имеется форма на которой расположены Грид, Текстбоксы и несколько кнопок.
Грид нужен для отображения отфильтрованных данных, Текстбоксы для ввода параметров фильтра ...
Одновременно в фильтрации может участвовать несколько параметров (по нескольким полям)

Дело в том, таблица привязанная к Гриду имеет 2миллиона записей и тормозит страшно.
Если рассматривать SET KEY то он ограничен только одним индексом(если я всё правильно понимаю) и условия фильтрации строгие.
Например, если в параметрах я укажу три первые буквы фамилии, то Set KEY не найдет его так как нужно ввести фамилию полностью.

Подскажите в каком направлении двигаться?
...
Рейтинг: 0 / 0
Альтернатива Set Filter
    #37400858
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Арчи05Подскажите в каком направлении двигаться?

в направлении курсорадаптера с парамеритризованным условием ограничения в запросе.
...
Рейтинг: 0 / 0
Альтернатива Set Filter
    #37400898
Арчи05
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
прошелмимов направлении курсорадаптера с парамеритризованным условием ограничения в запросе.

Эта таблица в БД не входит, она свободная.

И даже, если через курсорадаптер скорость будет не намного выше, если не останется такой же. Для проверки можете послать Sql запрос с параметрами в 2х миллионную таблицу, даже индексированную...

Что мне понравилось, так это скорость фильтрации Set Key, но у неё есть ограничение которое я выше описал
...
Рейтинг: 0 / 0
Альтернатива Set Filter
    #37400910
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Арчи05прошелмимов направлении курсорадаптера с парамеритризованным условием ограничения в запросе.

Эта таблица в БД не входит, она свободная.И что это меняет? Каким образом и давно ли курсорадаптер стал хоть как-то связан с контейнером базы данных?
И даже, если через курсорадаптер скорость будет не намного выше, если не останется такой же.На чем основано сие утверждение? Для проверки можете послать Sql запрос с параметрами в 2х миллионную таблицу, даже индексированную...Думаете, Вы единственный, кто делал такие тесты?
Что мне понравилось, так это скорость фильтрации Set Key, но у неё есть ограничение которое я выше описалКороче, сначала попробуйте, а потом разберем полученные результаты.
...
Рейтинг: 0 / 0
Альтернатива Set Filter
    #37400960
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам надо "в консерватории что-то подправить" В смысле, в самом подходе к отображению данных.

Использование выборок (CursorAdapter в частности) предполагает, что результатом этой выборки будет относительно небольшое количество записей. Это значит, что Вы должны отображать данные с неким заранее наложенным фильтром по умолчанию. Например, выборка за последний день.

В принципе, если Вы работаете с VFP9 есть "кривоватое" решение. Вместо SET KEY использовать SET FILTER и установить опцию Grid.Optimize = .T. При наличии индексов по полям, на которые будет наложен фильтр произойдет оптимизация фильтрации. В смысле, она будет выполняться достаточно быстро. Только, повторюсь, подобных подход "идеологически" не верен. Все-равно позже придется от него отказаться в пользу выборок.

Да, насчет поиска по частичному совпадению ключа (по первым символам) - это решается настройкой SET EXACT. Вероятно у Вас она установлена в значении ON, что и приводит к поиску по полному соответствию. Если же оставить эту настройку в значении по умолчанию OFF, то поиск будет осуществляться только по первым символам.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Альтернатива Set Filter
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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