Главная страница
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.063 c
7-1075801881
BKGG
2004-02-03 12:51
2004.04.11
Обьясните пожалуйста как Win запрешает выполнение Asm-ного коа In


14-1082558962
Frozzen
2004-04-21 18:49
2004.04.11
Объявление процедуры


1-1082457212
Паша5
2004-04-20 14:33
2004.04.11
Удаление пустых строк в StringGrid


1-1082234534
Игорь
2004-04-18 00:42
2004.04.11
Как добавить данные в меню на выпадающем меню, на рабочем столе?


3-1079440364
Максим
2004-03-16 15:32
2004.04.11
ADO и Ms OLE DB Provaiders - как работать с dBase IV базами?