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

Вниз

InterBase Query   Найти похожие ветки 

 
DENpro ©   (2004-04-14 09:35) [0]

Почему при выполнении запроса компонентом Query или IBQuery, запрос выполняется в несколько раз дольше чем в WISQL, независимо от того делаешь ли Prepare перед выполнением или нет.
(К примеру в WISQL или IBExpert запрос выпоняется 4 секунды, при работе в программе он же выполняется примерно 40 секунд)?
Можно ли увеличить скорость выполнения запроса?


 
Johnmen ©   (2004-04-14 09:41) [1]

Такого не может быть !


 
Vlad ©   (2004-04-14 09:43) [2]


> DENpro ©   (14.04.04 09:35)  

IBExpert не фетчит все записи сразу, а только по мере необходимости.
А ты в программе, скорее всего либо FetchAll делаешь либо Last либо еще что-то заставляющее вытащить полный набор данных на клиента.


 
DENpro ©   (2004-04-14 09:48) [3]

Запрос выдает примерно 3000 записей для IBExpert это еще +2 с., что бы сделать FetchAll.
Да я делаю Last, я бы с удовольствием его не делал, но мне необходимо знать количество записей возвращенных запросом, а без Last Query этого не знает.


 
DENpro ©   (2004-04-14 09:52) [4]

Дело в том что у меня машина P4 2.6G/512, база локальная и я не понимаю почему так тормозит запрос(хотя он довольно сложный). но факт остается фактом IBExpert делает его на много быстрее.


 
Vlad ©   (2004-04-14 10:03) [5]


> DENpro ©   (14.04.04 09:52) [4]


> ). но факт остается фактом IBExpert делает его на много
> быстрее.

Что значит быстрее ?
Ты попробуй в том же эксперте запустить свой запрос, и после выполнения нажать кнопку Last в навигаторе. Что по времени будет ?


 
Vlad ©   (2004-04-14 10:05) [6]


> DENpro ©   (14.04.04 09:48) [3]

А чтобы узнать количество записей, возвращаемых запросом (если база локальная) - select count(*) в отдельном запросе, и не нужно мучать компьютер с фетчем всего набора данных.


 
Sergey13 ©   (2004-04-14 10:11) [7]

2DENpro ©   (14.04.04 09:35)  
А никакие обработчики не мешают? Типа афтерскролов, лукапов, калкфилдов? Что то уж шибко результаты отличаются. Неплохо бы промониторить твою прогу. Иногда такие вещи вылезают - волосы на голове шевелятся (из личного опыта 8-).


 
Vlad ©   (2004-04-14 10:19) [8]

Может и обработчики мешают, AfterScroll или AfterOpen, а может и просто запрос неоптимизированный, тогда именно такая картина и будет.


 
Sergey13 ©   (2004-04-14 10:22) [9]

2Vlad ©   (14.04.04 10:19) [8]
Так запрос везде неоптимизирован и в делфе и в эксперте. Фетч локально на его тачке 3000 записей - секунды. Где то в проге, ИМХО, тормоз зашит, просто не явно.


 
Vlad ©   (2004-04-14 10:24) [10]


> для IBExpert это еще +2 с., что бы сделать FetchAll.

Сорри, я вот это не заметил.
Тогда действительно, в программе зашит тормоз !


 
Соловьев ©   (2004-04-14 11:46) [11]

IBX? - может патч поставить?
Если не ошибаюсь - IBExpert и WISQL используют напрямую IB API. Из-за этого они быстрее и работают


 
DENpro ©   (2004-04-14 12:05) [12]

Как я тестил время выполнения в проге.
Перед Open выводил время в Edit1 и сразу после в Edit2.
Соловьев>> Что за патч?


 
Соловьев ©   (2004-04-14 14:11) [13]

http://ibase.ru/ib6.htm



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

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.027 c
1-1082365341
tria
2004-04-19 13:02
2004.04.11
Как узнать размер поля (отступа) при печати?


1-1082716761
lucky4me
2004-04-23 14:39
2004.04.11
encodeURL


1-1082436256
R
2004-04-20 08:44
2004.04.11
Локальную и много или нет но одну?


3-1079068666
Gerderic
2004-03-12 08:17
2004.04.11
SQL & FireBird


1-1080108709
sohat
2004-03-24 09:11
2004.04.11
А есть ли книть компоненты - интерпритаторы?