Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.30;
Скачать: CL | DM;

Вниз

Тормоза после нескольких фильтраций   Найти похожие ветки 

 
Twix   (2003-01-09 08:27) [0]

Возникла проблема следующего характера:
Используется Delphi6 и база данных Paradox-формата. В программе есть функция поиска реализованная при помощи свойства TTable.Filter. Так вот при вызове данной функции n-ное количество раз, существенно замедляется доступ к таблице в которой осуществлялся поиск. Хочу заметить, что после выполнения поиска фильтрация снимается (TTable.Filter=""; TTable.Filtered:=false;).
Кто сталкивался с похожей проблемой? И как ее побороть?


 
HNN   (2003-01-09 10:09) [1]

После перезагрузки программы проблемы нет?
На мой взгляд проблема может решиться путем закрытия и открытия таблицы, а не только отмены фильтрации.


 
Ditrix ©   (2003-01-09 10:37) [2]

А лишний мастер-детайл (лукап и т.п.) нигде не прицеплен?


 
Kruger   (2003-01-09 12:16) [3]

У меня таблица из 9000 строк, я там применяю филльтрацию и все нормально. Попробуй сократить количество фильтров. Может возможно в один запрос внести сраз несколько.


 
MsGuns ©   (2003-01-09 12:28) [4]

При переключении фильтра надо чистить не столько Tabl1.Filter, сколько саму строковую переменную, где перечисляются все выражения фильтрации. Чтоб не получилось что-то вроде
StrFilter := "Fld1="abcd";Fld1="abcd";Fld1="abcd";Fld1="abcd"...)

Это, ессно, замедлит !


 
Иван Брылёв   (2003-01-09 13:56) [5]

Было такое. Если нужен сложный фильтр, то можно или обрабатывать событие OnFilterRecord или пользоваться SQL (но если не используешь ни BDE ни что-то еще, что поддерживает SQL, то тогда сложнее...)


 
Twix   (2003-01-10 14:31) [6]

To MsGuns:
Таких ошибок не делаем :-)

To HNN:
Спасибо, вроде бы проблема решилась открытием/зкарытием таблицы в которой проводится фильтрация. Возможно эта заморочка вызвана глюками в самом BDE.
В таблице объемом до 10000 записей все ОК, но вот при >20000 возникает такая проблема. Особенность этой таблицы в том, что на одно и тоже поле есть два индекса: по возрастанию и убыванию возможно поэтому и возникает проблема :-((



Страницы: 1 вся ветка

Текущий архив: 2003.01.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
1-96751
Knight
2003-01-20 22:07
2003.01.30
Как сделать RichEdit как в Делфи.


14-97006
NC
2003-01-13 15:53
2003.01.30
Получение информации и доступ к com2 порту с помощью delphi?


1-96695
Fill
2003-01-21 20:35
2003.01.30
Кто-нибудь знает алгоритмы


4-97088
Vicheslav
2002-12-15 14:17
2003.01.30
моя прога (Место)(без) Explorer


1-96721
Delph
2003-01-20 11:29
2003.01.30
По зазному вставляются записи в TClientDataSet.