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

Вниз

Скорость TIBQuery.Locate   Найти похожие ветки 

 
Igor_   (2002-10-02 11:47) [0]

В DBGrid выводится такой запрос - данные из трех таблиц
orders имеет forgein key на clients и order_status

Select o.*,c.ORG_NAME,c.CLIENT_NAME ,s.*
from orders o,clients c,order_status s
where o.client_id=c.id and o.status=s.id


когда делаешь Locate по какому-либо полю это происходит очень
медленно, даже при небольшой выборке (записей 20).
Как можно ускорить работу Locate?


 
Prooksius   (2002-10-02 12:08) [1]

Дело в том, что Locate работает в памяти с DataSet.
Тут все зависит от того, какими компонентами пользуешься.
Например, FIBplus работают так:
Если locate находит строку в уже отфетченной части DataSet, то просто позиционируется на нее, если эта строка еще не отфетчена, то фетчится до искомой строчки и позиционируется на нее.
Насколько я знаю, остальные компоненты так не работают. Locate сначата делает FetchAll, а потом, собственно, саму себя.
Но у тебя 20 строчек... Может быть, ты фетчишь какие-то большие поля или их очень много... Хотя, и это не должно влиять.

У меня на FIBPlus все идеально. Попробуй их.


 
VAleksey   (2002-10-02 12:34) [2]

Если честно, то я никогда не сталкивался с такой медлительностью локейт-а. Может быть дело не в нем ?


 
alexandr   (2002-10-02 12:40) [3]

дело может быть в вычисляемых полях у TIBQuery


 
ЮЮ   (2002-10-02 13:11) [4]

Или в обработчиках onBeforeScroll, onAfterScroll. Или в DB-aware компонентах, связанных с запросом. Обрубай всё перед Locate, а затем подключай.



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

Форум: "Базы";
Текущий архив: 2002.10.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
3-78247
Larisa
2002-09-27 20:34
2002.10.24
Подскажите, пожалуйста, что не правильно: мне нужно окрасить в


14-78610
Игорь
2002-09-26 15:50
2002.10.24
Delphi 7?


7-78681
А н д р е й
2002-07-26 14:36
2002.10.24
Цвет выделенной ячейки StringGrig


1-78511
Dendra
2002-10-13 15:14
2002.10.24
packed record


7-78698
Сережа
2002-08-16 09:27
2002.10.24
Закрытие Windows





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский