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

Вниз

Скорость 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
1-78400
BJValentine
2002-10-15 13:06
2002.10.24
Дата+время


1-78391
Asderg
2002-10-15 10:59
2002.10.24
как сделать из даты и времени одно TDateTime?


1-78381
ruslan_as
2002-10-15 09:46
2002.10.24
Найти решение


4-78703
mike.dld
2002-08-19 15:41
2002.10.24
Hints to MBo


3-78313
Igoryan
2002-10-04 10:25
2002.10.24
Ошибка при работе с SQL Server