Главная страница
    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.45 MB
Время: 0.008 c
3-96531
AVovik
2003-01-14 16:43
2003.01.30
Помогите зарегистрировать Midas.dll


3-96584
Sedunov Vitaly
2003-01-13 11:04
2003.01.30
Как DBGridEh определить позицию относительно экрана?


14-97002
Reindeer Moss Eater
2003-01-13 15:11
2003.01.30
TurboPower Software Company


1-96857
Evgeniy K
2003-01-19 14:50
2003.01.30
Вопрос только для Мастеров/прикладных программистов.


1-96792
Кен
2003-01-23 03:52
2003.01.30
Как получить список всех ресурсов которые я добавляю к программе?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский