Мы получаем экстремальные замедления на большинстве страниц нашего приложения в середине дня, когда он наиболее используется. С некоторыми страницами, которые занимают 40 -е (или более) для загрузки. 5 одновременных запросов приводят нас к 3S AVG, 10 одновременно до 7 с, с 20 до 30 с ... < /p>
Мы пробовали все виды оптимизации, индексы (на каждом столбце отдельно, составной из каждого столбца запроса). В конце концов, мне удалось разделить время на два, а затем три, но это просто толкает проблему дальше. Что до сих пор не чувствует, что этого достаточно (в дополнение к тому, чтобы быть более дорогим). < /P>
Вот экзамены одного из проблемных запросов (подсчет, используемый для страниц). Это упрощенная версия, оптимизированная как можно больше, и все же она занимает около 150 мс, что недостаточно, чтобы предотвратить ее замедление при выполнении одновременных запросов. Как я уже сказал, у нас есть индексы по вопросам assure_date, customer_id, статуса, рабочего процесса и Customer_id+Status+Workflow+Vicele_Date. angese_date - это дата, customer_id bigint, статус и целое число рабочего процесса. < /p>
Код: Выделить всё
select count(i1_0.id)
from invoice i1_0
where i1_0.issue_date BETWEEN '2025-01-01' and '2025-07-30'
and (i1_0.customer_id = 20
and (i1_0.status, i1_0.workflow) in ((1,1), (2,1), (3,1), (4,1), (5,1), (6,1), (7,1))
);
Подробнее здесь: https://stackoverflow.com/questions/797 ... nce-issues
Мобильная версия