1

У меня есть несколько таблиц, в которых два из них имеют около 1 миллиона записей. В одной процедуре я использую эти таблицы, и она занимает около 5-10 минут, чтобы получить около 25 000 строк.Индекс индекса столбца против обычного индекса

Я создал некоторые кластерные и некрупные индексы, а в плане выполнения показаны все объекты поиска кластерного индекса или поиск некластеризованного индекса. Но для выполнения процедуры все еще требуется более 5 минут.

Так что я попытался создать индекс столбцов, но все равно никаких улучшений.

Ребята, может кто-нибудь посоветует мне об этом. Как мне нужно создать индекс, а какой лучше? Столбец-хранилище или обычный кластерный/некластеризованный индекс

+1

Что значит «производить»? Что делает хранимая процедура (выбрать/вставить)? Каков план выполнения? 5 минут будет * длинным * временем для 5M строк, а не 25K. Создание индекса columnstore не приведет к тому, что хранимая процедура будет идти быстрее, если она обрабатывает, например, каждую строку один за другим в цикле или курсоре –

+0

Проще говоря, невозможно помочь без каких-либо подсказок. Вам необходимо опубликовать код хранимой процедуры и план выполнения. –

+0

Процедура не имеет никакого цикла или курсора. Он имеет только инструкцию для вставки и выбора. Существует некоторая проблема для публикации запроса или плана выполнения. Я попытаюсь опубликовать план выполнения после обсуждения с менеджером. – Sreepathi

ответ

1

Независимо от того, является ли индекс столбцов хорошим, зависит от цели таблицы/базы данных. Столбельный магазин предназначен для использования в больших таблицах фактов в хранилищах данных. Он не построен для OLTP или любой другой операционной базы данных. Если вы работаете с хранилищем данных, кластерный столбец обычно является хорошей идеей, хотя я думаю, что он рассчитан на более чем миллион буксировок, но я бы предположил, что он все еще работает нормально, и вы также должны получить преимущества от улучшенного сжатия.

Для OLTP или смешанного использования вы, вероятно, хотите просто сосредоточиться на индексировании. Посмотрите на план запроса и вывод statistics io, чтобы узнать, что вызывает медленность, и если вы не поймете, что может быть неправильно, отредактируйте сообщение или спросите новый с подробностями о ваших таблицах, индексах и плане запроса.

Типичные вещи для поиска в плане запроса - это сканирование индексов и сортировка & ключевые поисковые запросы для большого количества строк. Поскольку вы работаете с миллионами строк, в temp db также могут быть катушки или разливы, которые вызывают медленность.

 Смежные вопросы

  • Нет связанных вопросов^_^