Имеет несколько индексов для одной и той же таблицы, это проблема, так как я делаю только чтение вызовов - PullRequest
0 голосов
/ 08 февраля 2019

Запросы выполняются дольше и дольше.Пытаясь достичь некоторой производительности, создавая индексы.

У нас есть несколько автоматических запросов Select, попадающих в базу данных для чтения данных.Моя база данных обслуживает только READ запросы.Так что я создал целую кучу индексов для таблицы, чтобы помочь запросам.Мое понимание индексов таково: поскольку мы не выполняем никаких операций вставки / обновления / удаления, наличие нескольких индексов ничего не вредит.Мой вопрос: является ли проблемой наличие нескольких индексов в таблицах, поскольку моя база данных (сервер MS SQL) обслуживает только вызовы чтения.Некоторые из созданных мной индексов могут даже не потребоваться.

Я ожидаю, чтобы все мои запросы на выборку использовали правильный индекс и не сталкивались с какой-либо проблемой производительности из-за неправильного индекса или отсутствующего индекса.

1 Ответ

0 голосов
/ 08 февраля 2019

Просто помните, что индексы занимают место на вашем жестком диске, поэтому при каждом резервном копировании базы данных у вас может быть чуть длиннее резервное копирование и резервное копирование большего размера.

Чтобы узнать, считает ли SQL Server, что у вас отсутствуют индексы, вы можете попробовать запустить скрипт отсюда https://basitaalishan.com/2013/03/13/find-missing-indexes-using-sql-servers-index-related-dmvs/, который использует встроенные DMV для определения того, какие индексы «отсутствуют».

Вы также можете посмотреть на отдельные запросы, чтобы увидеть, можно ли их улучшить, открыв запрос в SQL Server Management Studio и нажав Ctrl_L, который покажет вам план запроса.

1008 * Все это уместно в базе данных (ы), которые не обновляются.Если индексы могут замедлить вставки и обновления.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...