Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
Возникла такая проблема Программка на VFP6 работает с БД на dbfах. В формочке для редактирования данных есть грид, для просмотра и редактирования выборок ставится фильтр. Вообщем-то все работает, но в табличке 600 тыс записей и, после установки фильтра и просмотра данных в гриде (особенно если прокруткой грида пользуешься) программа просто виснет намертво. Подскажите, пожалуйста, как с этим бороться ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 10:52 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
Я бы на вашем месте выбрал всё в курсор и присоеденил к гриду ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 11:09 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
leafЯ бы на вашем месте выбрал всё в курсор и присоеденил к гриду А как тогда редактировать данные? Вообще-то, пробовали уже через View, но пользователей не устраивает время открытия формы - с Viewшкой открывается больше минут :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 11:15 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
однозначно при таком количестке записей нужно пользоваться SELECT INTO CURSOR - будет гораздо быстрее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 11:21 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
Alex Sheffоднозначно при таком количестке записей нужно пользоваться SELECT INTO CURSOR - будет гораздо быстрее Это вместо фильтра ? или вообще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 11:26 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
вместо фильтра. Код: plaintext 1. 2. А исправлять, выбираеш запись в курсоре (надеють там есть какой-то кот уникальный), затем что-то типа Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 11:38 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
Спасибо! Попробую. Но проблема все-таки не столько в скорости, сколько , как мне кажется, стандартный грид не в состоянии нормально показать таблицу после фильтра. Трудно это объяснить "на пальцах". Но когда фильтры ставишь в оболочке Фокса никаких проблем нет. Когда на форме в гриде - виснет при переходе по записям. Особенно если скроллинг грида покрутить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 11:51 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
[quot Alex Sheff]вместо фильтра. Код: plaintext 1. 2. Это скорее всего работу не ускорит, т.к. сначала все записи закачаются в курсор, а потом еще одна выборка по HAVING в тот же курсор. Лучше создать представление с параметрами фильтрации, привязать его к грид и вперед. И апдейтиться через него проще, без REPLACE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 11:56 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
to AlexMed а если использовать не Having a Where ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 12:04 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
Можно WHERE, но думаю что через VIEW половчее будет работать, все равно когда никогда с этим придется разбираться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 12:07 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
эт точно, но мне SELECT больше нравится (или просто с VIEW лень разбираться), да и в этом же форуме читал что VIEW - тотже SELECT только интерфейсом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 12:12 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
Конечно же в основе своей это SELECT, но в представлении можно сразу задать параметры для отбора, установит ключевые и обновляемые поля при сохранении изменений, преобразование данных при запросе с удаленных источников данных, надписи для заголовков колонок и т.п. Потом VIEW кидаешь на форму и готов GRID в котором, например, не надо править заголовки столбцов. Правда в FOXе если количество таблиц в представлении больше двух, то представление надо писать руками через CREATE VIEW, построитель тут не помощник. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 12:38 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
А как тогда редактировать данные? select ... into cursor readwrite в другую форму а при закрытии анализ сделанных изменений кстати редактировать данные напрямую не есть хорошо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 12:45 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
Hi, leaf! Кому вопрос? PS Кто знает, можно ли смотреть форум по веткам вопросов или здесь такого нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 12:52 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
AleksMedМожно WHERE, но думаю что через VIEW половчее будет работать, все равно когда никогда с этим придется разбираться. Это вы просто не пробовали представление с таблицы в 600тыс записей создавать. Даже просто View открыть около 2х минут. Это нервы надо железные иметь, чтоб дождаться открытия формы с таким view. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 12:57 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
2алекс вопрос автор задал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 13:00 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
leaf А как тогда редактировать данные? select ... into cursor readwrite в другую форму а при закрытии анализ сделанных изменений кстати редактировать данные напрямую не есть хорошо Таблица буферизована, так что можно откатить изменения, сохранить если все нормально и все такое. А фильтр используется для массовых изменений, да и просто оператору удобно - видит только информацию по выбранным условиям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 13:11 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
2Bege Все конечно зависит от объема и структуры данных. И такой большой базы под рукой нет. Создал базейку из двух полей, залил 120000 записей, создал параметризированное VIEW, время открытия 3,295 сек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 13:17 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
e AleksMedВсе конечно зависит от объема и структуры данных. И такой большой базы под рукой нет.Создал базейку из двух полей, залил 120000 записей, создал параметризированное VIEW, время открытия 3,295 сек. Это точно! Но у меня - 24 поля(от 7 до 60 симв) и 600тыс записей (каждый день прибавляется 500-600 записей , монстр , однако :)), и никак не меньше 1.5 минут представление открывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 13:32 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
2Bege И что все 600000 заливаешь во VIEW? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 13:36 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
AleksMedИ что все 600000 заливаешь во VIEW? Не все. 150 тыс, может чуть больше. Это имеет значение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 13:42 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
Я слабо себе представляю, что делает пользователь со 150 тысячами записей, но увеличив базу до 26 полей, в основном это C(10), и делая выборку с параметрами по двум полям, типа LIKE '%J%' и LIKE '%K%', получил <25 сек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 14:23 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
Спасибо всем за советы! Обошлось все буквально парой строк - замена установки фильтра на создание вьюшки, ну и заменой рекордсурса грида в форме на эту вьюшку. Но, все-таки, что-то не то с гридом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2004, 16:28 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
Apply SET ORDER and SET KEY Код: plaintext 1. 2. 3. 4. much more speed than SET FILTER and no need local cursor view :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 01:02 |
|
||
|
Grid и set filter
|
|||
|---|---|---|---|
|
#18+
Hi Bege! Ты в упор не прислушиваешься к вопросу ЗАЧЕМ пользователю 150000 записей! Сделай ему удобную форму задания параметров, продумай ЧТО он обычно ищет и КАК - сократи объём выборки до 100 ну максимум до 1000 записей (ессно используя параметризованный View). Потом добавь индексы по полям, входящим в условия отбора (отбираем по дате - делай индекс по дате, отбираем по какому-то коду, возможно связанному с другой таблицей - делай индекс по коду). И будет тебе счастье, будет заполнятся курсор за < 1 секунду! И все будут просто счастливы! А Grid+Filter и Grid+Relation медленная и мучительная смерть :( Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2004, 01:21 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32786627&tid=1595375]: |
0ms |
get settings: |
10ms |
get forum list: |
27ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
90ms |
get tp. blocked users: |
2ms |
| others: | 258ms |
| total: | 481ms |

| 0 / 0 |
