Небольшие задержки в SQL запросах - PullRequest
3 голосов
/ 09 марта 2020

Я пытаюсь выяснить, почему некоторые из наших страниц backoffice (и некоторые веб-интерфейсы с категориями, содержащими много продуктов) загружаются слишком долго. Каждый sql в используемых запросах не настолько интенсивен, но, похоже, время от времени возникают микродержки, которые вызывают проблемы.

Примером, над которым я сейчас работаю, является проверка, все ли продукты магазина есть языковые переводы (и несколько других вещей). Хотя каждый продукт занимает довольно короткое время, у нас есть более тысячи продуктов, и вместе они складываются, поскольку для каждого продукта происходит несколько запросов.

Вот небольшой тестовый код, который я создал в ASP classi c (это язык, который мы используем). Это в основном al oop, который загружает запрос и помещает описание продукта в переменную для одного и того же продукта более 1000 раз и записывает текущее время для каждого l oop.

sql = _
"SELECT language_prod_desc " &_
"  FROM language_prod " &_
" WHERE language_prod_pid = 30761462 " &_
"   AND language_prod_lang = 'no' "

for i = 0 to 1000
    set rs = cn.execute(SQL)
    desc = rs("language_prod_desc").value
    response.write (10000+i) & "<strong>  " & mid(timer(),3,6) & "</strong><br>"
next

Здесь это небольшой пример выходных данных, показывающий, что иногда в циклах наблюдаются небольшие задержки в 0,02 с.

10000 296,39
10001 296,39
10002 296,39
10003 296,39
10004 296,39
10005 296,41 <---
10006 296,41
10007 296,41
10008 296,41
10009 296,41
10010 296,41
10011 296,41
10012 296,41
10013 296,41
10014 296,41
10015 296,41
10016 296,41
10017 296,43 <---
10018 296,43
10019 296,43
10020 296,43
10021 296,43
10022 296,43

Я использую IIS10, работающий MySQL 5.0.12.

Вопрос: Что может быть причиной этих "микродержек" или как я мог go выяснить причину их возникновения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...