Главная страница
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.018 c
1-96754
Astarot
2003-01-20 12:16
2003.01.30
Смена обоев рабочего стола


6-96917
zitrol
2002-11-20 00:05
2003.01.30
Вывести ip на экран!


7-97043
XED
2002-11-17 12:03
2003.01.30
Hook!!!


1-96855
Сергей К.
2003-01-17 19:25
2003.01.30
Как сделать, чтобы прога создавала ехе-шник.


1-96681
harismatik
2003-01-21 20:42
2003.01.30
Как запретить ресайз