Доступ к значениям служебной программы Advantage Management для обратной связи
В нашем приложении для генерации отчетов есть несколько довольно сложных запросов, выполнение которых занимает значительное время. Отзывы пользователей до этого момента были в основном zip, в то время как сервер пыхтит по их запросу. Я заметил, что в утилите управления ADA есть вкладка, которая показывает ход выполнения запроса как в процентах выполнения, так и в оставшихся секундах. Я попытался покопаться в таблицах, чтобы посмотреть, смогу ли я найти какую-либо из этой информации, а также просмотреть ограниченную документацию, доступную для ADBS, и не смог найти ничего полезного.
Кто-нибудь знает, есть ли способ, которым я могу отбросить эту информацию за пределами ADA, чтобы обеспечить некоторую необходимую обратную связь с пользователем?
2 ответа
ADA получает эту информацию из системной процедуры sp_GetSQLStatements.
Тем не менее, традиционный способ предоставления информации о ходе выполнения любой операции - через функцию обратного вызова.
Это не ответ на вопрос, но может помочь сократить время, необходимое для выполнения запросов в отчете. Возможно, вы уже сделали это и сделали это настолько оптимизированным, насколько это возможно. Но если нет, вы можете посмотреть на план запросов в Advantage Data Architect, чтобы проверить наличие проблем с оптимизацией. В окне запроса, где вы запускаете запрос, вы можете выбрать Show Plan
от SQL
меню (или нажмите кнопку на панели инструментов). Это отобразит план выполнения с информацией об оптимизации, которая может помочь определить отсутствующие индексы.
Другим инструментом, который может быть полезен при идентификации неоптимизированных запросов, является ведение журнала запросов. Это также обсуждается здесь.