Показать сообщение отдельно
Старый 21.02.2005, 20:49   #2  
maxsmirnov is offline
maxsmirnov
экс-модератор
 
268 / 25 (1) +++
Регистрация: 08.07.2003
Адрес: Москва
мда..
самая непрофессионально сделанная форма из встречавшихся мне в аксапте...
одни названия контролов чего стоят...

а) переносите на клиент
б) кешируйте дисплей методы штатными средствами (у вас ах2.5 или вы о них не знаете? так, на всякий случай - ищите в хелпе по слову cacheaddmethod)

в) относительно самих запросов

не всегда можно заставить субд применять индекс в запросах типа select sum(amount) from rPayTrans, как в вашем случае.

современные планировщики запросов выбирают в таких случаях индексированный или последовательный поиск ориентируясь на собираемую ими статистику распределения значений в ключевых полях. т.е. грубо говоря, ваш планировщик запросов думает что записей с таким payPeriod в таблице много, и проще последовательно перебрать все строки, чем искать каждую по индексу.
и, м.б., он и не ошибается

вы используете функциональность "с учетом совместителей"?
если нет, то можно избавиться от джойна с emplTable, я думаю, это существенно убыстрит запрос.
никаких exist join-ов в реальности не существует, это лишь часть известного заговора майкрософта с производителями железа

а если используете - можно написать два разных запроса - быстрый, без галочки "с учетом совместителей", и медленный, с галочкой