Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
В процедуре и раздельно
|
|||
|---|---|---|---|
|
#18+
Есть одна процедура, где выполняется много команд. И есть один апдейт по середине процедуры. Так вот вся процедура выполняется за 16 минут, Но если выполнять отдельно до апдейта - 20 секунд и апдейт с последующими командами еще 37 секунд. Приводить тут неимеет смысла, так как основная таблица имеет более 150 тыс строк. Смешное то, что на другом сервере с такими же данными и настройками данная процедура выполняется за 70 секунд (похоже на реальность). Так вот вопрос, куда копать? Что можно сделать в данном случае? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Что я пробовал: 1. Сделал принудительный сброс данных FLUSH TABLE; FLUSH QUERY CACHE; 2. Сделал принудительный индекс, до этого апдейт выполнялся 2 минуты, теперь 30 милисекунд Код: sql 1. Естественно индекс на ParentAgreementNumber существует. 3. Выносил в отдельную таблицу agreement_list_tmp, и затем делал джоин. Не помогло. Что можно еще попробовать? Заранее спасибо за любые советы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2018, 00:39 |
|
||
|
В процедуре и раздельно
|
|||
|---|---|---|---|
|
#18+
Да забыл указать EXPLAIN Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2018, 16:48 |
|
||
|
В процедуре и раздельно
|
|||
|---|---|---|---|
|
#18+
alexnewsвся процедура выполняется за 16 минут, Но если выполнять отдельно до апдейта - 20 секунд и апдейт с последующими командами еще 37 секунд.Проверьте эти секунды: 1) Просмотрите лог медленных запросов (действительно ли апдейт выполняется 15 минут?); 2) Поставьте перед и после запроса INSERT (а также в начале и конце процедуры) во временную таблицу штампов времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2018, 16:54 |
|
||
|
В процедуре и раздельно
|
|||
|---|---|---|---|
|
#18+
Спасибо Akina, нашел проблему. Решилось выставлением паузы между исполнением команд. Похоже пока в таблице работала предыдущая команда с одним процессором, следующая начинала уже работать с другим процессором. И получался deadlock. Вопрос закрыт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2018, 17:30 |
|
||
|
|

start [/forum/topic.php?fid=47&tid=1830074]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 367ms |

| 0 / 0 |
