Решена проблема с большим временем выполнения SQL Server.
Сегодня я получил уведомление с просьбой о помощи в SQL Server.
Mentee столкнулся с большим временем обработки при выполнении запроса на SQL Server.
Раньше я решал многие проблемы с запросами, поэтому я быстро выразил заинтересованность в их решении. Подопечный принял это.
Я спросил ниже подробности, прежде чем давать какие-либо предложения:
- Объясните мне структуру таблицы, столбцы, первичный ключ, типы столбцов и т. д.
- Перечислите сценарий, как таблица будет использоваться приложением. Это должно было определить, какие столбцы часто используются в предложении where.
- Сколько данных доступно в таблице? (количество строк)
В таблице было 45 миллионов записей. Все запросы дают задержку около нескольких минут. У него есть первичный ключ, но в соответствии с требованием было несколько столбцов, часто используемых в качестве предложения where.
Я предложил ему создать индекс для нескольких столбцов и попробовать.
Он быстро понял мое предложение и реализовал индекс.
Затем он попытался выполнить запрос и вуаля. Он получил результат за секунды.
Это была успешная сессия для нас обоих.
Индекс очень важен для получения максимальной производительности от запросов.