Индексы SQL Server. Поиск дубликатов

Запрос покажет все дублирующие индексы в базе данных SQL Server

-- Ищем дубликаты индексов (создает нагрузку на процессор)
select t1.tablename,t1.indexname,t1.columnlist,t2.indexname,t2.columnlist from
   (select distinct object_name(i.object_id) tablename,i.name indexname,
             (select distinct stuff((select ', ' + c.name
                                       from sys.index_columns ic1 inner join
                                            sys.columns c on ic1.object_id=c.object_id and
                                                             ic1.column_id=c.column_id
                                      where ic1.index_id = ic.index_id and
                                            ic1.object_id=i.object_id and
                                            ic1.index_id=i.index_id
                                      order by index_column_id FOR XML PATH('')),1,2,'')
                from sys.index_columns ic
               where object_id=i.object_id and index_id=i.index_id) as columnlist
       from sys.indexes i inner join
    	    sys.index_columns ic on i.object_id=ic.object_id and
                                    i.index_id=ic.index_id inner join
            sys.objects o on i.object_id=o.object_id
      where o.is_ms_shipped=0) t1 inner join
   (select distinct object_name(i.object_id) tablename,i.name indexname,
             (select distinct stuff((select ', ' + c.name
                                       from sys.index_columns ic1 inner join
                                            sys.columns c on ic1.object_id=c.object_id and
                                                             ic1.column_id=c.column_id
                                      where ic1.index_id = ic.index_id and
                                            ic1.object_id=i.object_id and
                                            ic1.index_id=i.index_id
                                      order by index_column_id FOR XML PATH('')),1,2,'')
                from sys.index_columns ic
               where object_id=i.object_id and index_id=i.index_id) as columnlist
       from sys.indexes i inner join
    	    sys.index_columns ic on i.object_id=ic.object_id and
                                    i.index_id=ic.index_id inner join
            sys.objects o on i.object_id=o.object_id
 where o.is_ms_shipped=0) t2 on t1.tablename=t2.tablename and
       substring(t2.columnlist,1,len(t1.columnlist))=t1.columnlist and
       (t1.columnlist<>t2.columnlist or
         (t1.columnlist=t2.columnlist and t1.indexname<>t2.indexname))

Что еще посмотреть по SQL Server

SQL-инструмент для создания личных кабинетов на сайте

Суть подхода и история создания Falcon Space

Платформа Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки

Это быстрое внесение изменений

по ходу эксплуатации программы

Это современный интерфейс

полная адаптация под мобильные устройства

Веб-приложения на чистом MS SQL. Обучение разработке на Falcon Space

Вы можете разрабатывать самостоятельно или сотрудничать с нами в плане веб-разработки на платформе Falcon Space, используя только SQL и HTML.
Демо-стенд компонентов
На стенде можно посмотреть различные компоненты в действии: таблицы, формы, модальные окна, диаграммы, карта и т.д.
Демо-сайт решений
Базисные решения, которые можно гибко адаптировать под себя: менять внешний вид, бизнес-логику и даже структуру базы данных.
Получить оценку проекта
Создайте концепцию проекта на основе нашего шаблона и получите оценку проекта в виде КП.