Управление производительностью при работе с БД

Перед запросом данных, сохраненных в базе данных Teradata(1), Oracle(2) или SQL Server 2005, приложение использует функцию Режим Explain, которая разбивает эффективность запросов SQL на несколько классов, определенных пользователем. Для максимального ускорения и упрощения эта категоризация выполняется без фактического выполнения полного запроса SQL.

Примечание
  • (1) Для всех версий Teradata.
  • (2) Для всех версий Oracle 10 и выше.

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

Например, корпоративная политика ИТ может отдавать предпочтение интерактивности и определять 3 класса запросов SQL со следующим максимальным временем.
  • Мгновенный: длительность <1 с. Этот запрос принимается и выполняется мгновенно.
  • Фоновый: 1с <=длительность < 2 с. Этот запрос принимается, но выполняется во время следующего простоя.
  • Отклоненный: 2с <=длительность. Этот запрос никогда не будет выполнен.

Число, имена и лимиты классов определяются пользователем согласно конфигурации СУБД и политике использования СУБД.

Режим Explain сконфигурирован
Если режим Explain сконфигурирован администратором вашей СУБД, запрос имеет два возможных исхода.
  • Запрос принимается и выполняется мгновенно: здесь все предельно ясно. Приложение получает доступ к данным без ввода других данных пользователем.
  • запрос необходимо проверить перед выполнением: появляется всплывающее окно с сообщением, сконфигурированным администратором СУБД. Запрос, который требует проверки, может принадлежать к одной из двух категорий: средний или большой.
Если запрос имеет категорию "средний", возможно, требуется уточнить необходимое действие у администратора.
  • Если администратор авторизировал запрос, нажмите Продолжить. Всплывающее окно будет закрыто, и будет выполнено запрошенное действие.
  • Если администратор не авторизировал запрос, нажмите Остановить запрос. Всплывающее окно будет закрыто, но запрошенное действие не будет выполнено.

Если запрос имеет категорию "большой", это значит, что на его выполнение будет потрачено слишком много времени и ресурсов. В этом случае поведение при нажатии кнопки Продолжить зависит от конфигурации, выполненной администратором СУБД (например, слишком тяжелые запросы могут автоматически отклоняться). В любом из этих случаев следует уточнить у администратора, какие действия предпринять.

Режим Explain не сконфигурирован

Если режим Explain не сконфигурирован администратором вашей СУБД, при попытке доступа к данным открывается следующее всплывающее окно:

Обратитесь к администратору, который подскажет вам нужное действие и сконфигурирует режим Explain.

Если администратор одобряет выполнение запроса, возможно, вы решите выполнять все запросы с такой длительностью без проверки. В таком случае установите флажок Больше не запрашивать проверку для похожих запросов. В дальнейшем сообщение проверки будет отображаться только для запросов с большей длительностью. Эта конфигурация будет применена только к текущему сеансу; при закрытии приложения она будет утеряна. Чтобы настроить постоянную конфигурацию, обратитесь к администратору СУБД.