Автор Тема: Когда необходима оптимизация запроса?  (Прочитано 6917 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Кухня
  • Newbie
  • *
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Когда необходима оптимизация запроса?
« : Февраль 26, 2010, 12:22:05 pm »
Краткая предыстория...
В прошлом году на собеседовании у кем только не признанным гуру всея и прочее ABAP/4 мне был задан вопрос: как определить, нуждается ли запрос в оптимизации? С виду все прилично, может даже JOIN нет, индексы должны работать + все написанное в You are not allowed to view links. Register or Login. Т.е. можно ли и по каким критериям определить сабж, поскольку "медленно работает" не есть аргумент, может оно и должно так медленно работать? Насколько я понимаю, у используемой СУБД (тех. характеристики) должно быть некое максимальное время отклика на запрос, предположим, одной записи. Подскажите, товарищи администраторы, правильно и понятно ли я вообще поставил вопрос, и в каком направлении копать и где, если нет готового ответа...

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 780
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Когда необходима оптимизация запроса?
« Ответ #1 : Февраль 26, 2010, 01:49:31 pm »
Ну мой метод, во-первых, когда пользователи начнут плакать что медленно. Причем много и сильно. Без этого, лезть в то, что работает с приемлемой для пользователей скоростью считаю не продуктивным. И второй вариант, когда оптимизирую, это если время выполнения программы выходит за рамки технологического цикла, например задача должна отрабатывать максимум за 15 минут (900 секунд), так вот если время подходит  к этому порогу, тогда начинаю смотреть, как можно ускорить процесс выполнения программы, чтобы был запас времени.

А вот так вот абстрактно типа вот вам запрос, а что вы думаете, а давайте вот... а не хотите ли тут... короче, если делать нечего, а денег надо за что-то заплатить, тогда хочу. Опять же не знаю как сейчас, а во времена когда машины были большими, а языки программирования маленькими (ассембмлеру привет), так вот было такое правило, любую программу можно сократить на один байт... и таки да, поэтому перефразируя скажу так, время выполнения любого SQL-запроса, можно сократить по сравнению с текущим временем его выполнения.

Оффлайн №1

  • Administrator
  • Jr. Member
  • *****
  • Сообщений: 636
  • Репутация: +23/-0
  • Пол: Мужской
  • Судьбы я вызов принимаю прямым пожатием руки
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Когда необходима оптимизация запроса?
« Ответ #2 : Февраль 26, 2010, 03:24:09 pm »
Смотрим ST03, ST04. Может быть также полезен отчет EWA (если настроено)
В особо сложных случаях - трассировка
Мой You are not allowed to view links. Register or Login

Оффлайн Skif

  • Jr. Member
  • **
  • Сообщений: 726
  • Репутация: +10/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Когда необходима оптимизация запроса?
« Ответ #3 : Март 01, 2010, 09:02:34 am »
Повторюсь ещё раз...
"необходима" распадается на три подвопроса:
1. вы не знаете много или мало (интерес)
2. вы знаете что много (желание)
3. у вас есть ресурс на уменьшение (потребность = готовность платить за исполнения желания)

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Кухня
  • Newbie
  • *
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Когда необходима оптимизация запроса?
« Ответ #4 : Март 01, 2010, 12:38:18 pm »
You are not allowed to view links. Register or Login
Повторюсь ещё раз...
"необходима" распадается на три подвопроса:
1. вы не знаете много или мало (интерес)
2. вы знаете что много (желание)
3. у вас есть ресурс на уменьшение (потребность = готовность платить за исполнения желания)
Скорее всего п.1. Интересуют подходы к определению: много или мало, при имеющихся ресурсах.

Оффлайн Semen F.

  • Newbie
  • *
  • Сообщений: 4
  • Репутация: +0/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Когда необходима оптимизация запроса?
« Ответ #5 : Март 20, 2010, 11:48:14 am »
1. SM66 сортируем по времени выполнение и смотрим, обычно претенденты на оптимизацию занимают первые строки.
2. st04 -> SQL request смотрим запросы с самым большим количеством Bgets/exe и маленьким Rproc/exe - это ваши кандидаты на оптимизацию.

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Кухня
  • Newbie
  • *
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Когда необходима оптимизация запроса?
« Ответ #6 : Март 20, 2010, 01:27:30 pm »
You are not allowed to view links. Register or Login
1. SM66 сортируем по времени выполнение и смотрим, обычно претенденты на оптимизацию занимают первые строки.
2. st04 -> SQL request смотрим запросы с самым большим количеством Bgets/exe и маленьким Rproc/exe - это ваши кандидаты на оптимизацию.
Спасибо, Semen F.