Разбор CE SQL в БД SQL - PullRequest
       36

Разбор CE SQL в БД SQL

0 голосов
/ 19 декабря 2018

Я поддерживаю Filenet Applications и в основном фокусируюсь на методах повышения производительности.Часто мы сталкиваемся с этой проблемой, связанной с оптимизацией запросов.Обычно мы получаем запросы от DBA, и это SQL базы данных, которые запускаются на уровне базы данных.Теперь из кода приложения мы передаем CE SQL, а не DB SQL.Я знаю, что CE анализирует CE SQL для базовой базы данных SQL.Я пытаюсь выяснить, если у меня есть БД SQL, могу ли я получить соответствующий CE SQL, который запускается.Код или сценарий, который я могу написать, в котором я ввожу CE SQL и генерируется соответствующая БД SQL.Ценю, могу ли я получить какие-либо указания на это, поскольку я действительно застрял.

Ответы [ 2 ]

0 голосов
/ 21 декабря 2018

Необходимо включить ведение журнала трассировки для подсистемы DB.Это делается через вкладку Trace Control конфигурации домена в ACCE.Тогда вы сможете увидеть запросы к базе данных в p8_server_trace.log.

Для удобства вы можете включить трассировку и для подсистемы SRCH.Затем исходные и сгенерированные запросы будут идти рука об руку.

Подробная информация о ведении журнала трассировки доступна в документации FileNet P8 .

0 голосов
/ 20 декабря 2018

Способ захвата запросов CE SQL состоит в том, чтобы включить аудит для интересующего вас класса объекта и выбрать Query Event в качестве события.Теперь каждый раз, когда выполняется запрос, создается объект события.Этот объект имеет свойство с именем QueryText, которое содержит выполненный запрос CE.Вы можете использовать время создания или некоторую другую информацию в запросе, чтобы сопоставить ее с запросом вашей базы данных.

События запроса могут быть запрошены с использованием ACCE или доступны программно с помощью объекта API com.filenet.api.events.QueryEvent.

Имейте в виду, что в загруженной системе может быть сгенерировано много событий запроса!

...