Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.01.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
3-96574
Ich Hasse
2003-01-12 22:05
2003.01.30
Подключение к Access


1-96649
Муть
2003-01-20 13:56
2003.01.30
Listbox с элементами переменной высоты


1-96710
sbz
2003-01-20 13:57
2003.01.30
Проблема с ControlAtPos


14-97018
Driverrr
2003-01-13 20:21
2003.01.30
WinXP


8-96882
2UT
2002-10-13 17:20
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский