Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
18.08.2011, 09:50
|
|||
---|---|---|---|
|
|||
Альтернатива Set Filter |
|||
#18+
Здравствуйте форумчане! Имеется форма на которой расположены Грид, Текстбоксы и несколько кнопок. Грид нужен для отображения отфильтрованных данных, Текстбоксы для ввода параметров фильтра ... Одновременно в фильтрации может участвовать несколько параметров (по нескольким полям) Дело в том, таблица привязанная к Гриду имеет 2миллиона записей и тормозит страшно. Если рассматривать SET KEY то он ограничен только одним индексом(если я всё правильно понимаю) и условия фильтрации строгие. Например, если в параметрах я укажу три первые буквы фамилии, то Set KEY не найдет его так как нужно ввести фамилию полностью. Подскажите в каком направлении двигаться? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.08.2011, 10:06
|
|||
---|---|---|---|
|
|||
Альтернатива Set Filter |
|||
#18+
Арчи05Подскажите в каком направлении двигаться? в направлении курсорадаптера с парамеритризованным условием ограничения в запросе. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.08.2011, 10:19
|
|||
---|---|---|---|
|
|||
Альтернатива Set Filter |
|||
#18+
прошелмимов направлении курсорадаптера с парамеритризованным условием ограничения в запросе. Эта таблица в БД не входит, она свободная. И даже, если через курсорадаптер скорость будет не намного выше, если не останется такой же. Для проверки можете послать Sql запрос с параметрами в 2х миллионную таблицу, даже индексированную... Что мне понравилось, так это скорость фильтрации Set Key, но у неё есть ограничение которое я выше описал ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.08.2011, 10:24
|
|||
---|---|---|---|
|
|||
Альтернатива Set Filter |
|||
#18+
Арчи05прошелмимов направлении курсорадаптера с парамеритризованным условием ограничения в запросе. Эта таблица в БД не входит, она свободная.И что это меняет? Каким образом и давно ли курсорадаптер стал хоть как-то связан с контейнером базы данных? И даже, если через курсорадаптер скорость будет не намного выше, если не останется такой же.На чем основано сие утверждение? Для проверки можете послать Sql запрос с параметрами в 2х миллионную таблицу, даже индексированную...Думаете, Вы единственный, кто делал такие тесты? Что мне понравилось, так это скорость фильтрации Set Key, но у неё есть ограничение которое я выше описалКороче, сначала попробуйте, а потом разберем полученные результаты. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.08.2011, 10:42
|
|||
---|---|---|---|
Альтернатива Set Filter |
|||
#18+
Вам надо "в консерватории что-то подправить" В смысле, в самом подходе к отображению данных. Использование выборок (CursorAdapter в частности) предполагает, что результатом этой выборки будет относительно небольшое количество записей. Это значит, что Вы должны отображать данные с неким заранее наложенным фильтром по умолчанию. Например, выборка за последний день. В принципе, если Вы работаете с VFP9 есть "кривоватое" решение. Вместо SET KEY использовать SET FILTER и установить опцию Grid.Optimize = .T. При наличии индексов по полям, на которые будет наложен фильтр произойдет оптимизация фильтрации. В смысле, она будет выполняться достаточно быстро. Только, повторюсь, подобных подход "идеологически" не верен. Все-равно позже придется от него отказаться в пользу выборок. Да, насчет поиска по частичному совпадению ключа (по первым символам) - это решается настройкой SET EXACT. Вероятно у Вас она установлена в значении ON, что и приводит к поиску по полному соответствию. Если же оставить эту настройку в значении по умолчанию OFF, то поиск будет осуществляться только по первым символам. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=41&mobile=1&tid=1584212]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 291ms |
total: | 427ms |
0 / 0 |