Где ставить индексы SQL Server
В общем случае индексы имеет смысл ставить на те поля, которые используются как поле связи в Join, поле связи в подзапросе, фильтрация в where, сортировка - т.е. те места, где система осуществляет перебор данных (индекс просто за счет упорядочивания значительно упрощает этот перебор).
Для выявления мест, куда можно поставить индекс, периодически выполняем и анализируем предложенный список и ставим индексы на таблицах БД.
--Поиск, где можно установить индексы:
select d.name AS DatabaseName, mid.*
from sys.dm_db_missing_index_details mid
join sys.databases d ON mid.database_id=d.database_id
Данный скрипт позволяет найти неэффективные индексы - данные чаще записываются, чем читаются по индексу:
--Убрать лишние индексы:
--там где user_updates больше чем user_lookup - можно удалить индексы
SELECT d.name, t.name, i.name, ius.*
FROM sys.dm_db_index_usage_stats ius
JOIN sys.databases d ON d.database_id = ius.database_id
JOIN sys.tables t ON t.object_id = ius.object_id
JOIN sys.indexes i ON i.object_id = ius.object_id AND i.index_id =
ius.index_id
ORDER BY user_updates DESC
Что еще посмотреть по SQL Server
Оптимизация SQL запросов. SQL медленно работает
Как найти медленные проблемные запросы SQL Server. Оптимизация быстродействия SQL Server
SQL Server. Работа с индексами через запросы SQL
Оптимизация SQL запросов, план запроса в SQL Server
Решение проблем с большим кешем запросов SQL Server
Инструмент для анализа производительности запросов SQL Server Query Store
SQL Server Как найти запросы с проблемами (warning) в плане выполнения запроса (SQL Plan)
Анализ статистики по индексам в базе данных SQL Server
Определение какая база данных создает нагрузку на CPU
Оптимизация SQL - медленная конвертация таблицы в строку
Медленный sql. Как найти, что вызывает замедление в хранимой процедуре MS SQL
Ищем партнеров-разработчиков на T-SQL
Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта