Показать сообщение отдельно
  #15  
Старый 04.07.2013, 12:32
Аватар для Freeman
Freeman Freeman вне форума
Местный
 
Регистрация: 05.10.2012
Адрес: Санкт-Петербург
Сообщения: 577
Версия Delphi: 6
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Ravennt
usluga_table.usluga_id это одно поле из главной таблицы, и на ibquery событий не навешано.
Тогда могу предложить лишь следующее:
  • Попробовать вызвать FetchAll после открытия запроса.
  • Пройтись отладчиком, чтобы убедиться, что тормозит именно на Locate. Если это именно так, пройтись отладчиком, входя в исходники TIBCustomDataSet, чтобы выяснить, какая строчка выполняется дольше всего.
Я посмотрел в исходниках TIBCustomDataSet.Locate и ничего крамольного не нашел. Записей точно 400, а не 400000, например?

Возможно, существуют какие-то профилировщики под Delphi, но пользоваться не приходилось. Тут, скорее, дело именно в вызывающем коде, а не самом компоненте TIBQuery.

Покажите заодно строчку с вызовом Locate.
Ответить с цитированием