Как проверить производительность для вашей базы данных - PullRequest
2 голосов
/ 17 августа 2010

Мне нужно проверить работу индексов для некоторой таблицы в моей базе данных.

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

Моя проблема:

using sys.dm_exec_query_optimizer

Детали моего запроса постоянно меняются, что затрудняет понимание.Какое лучшее решение?

Знаете ли вы какой-либо способ или лучшие практики?

1 Ответ

2 голосов
/ 17 августа 2010

Вы должны узнать, что говорит оптимизатор запросов.Изменения данных - это хорошо;это означает, что вещи ведут себя по-разному в зависимости от того, есть у вас индексы или нет.Однако стандартизации представления информации оптимизатора не существует - каждая СУБД делает это по-своему.Если вы собираетесь интерпретировать данные, вы должны это понимать.

Важно рассмотреть план запроса.В конечном счете, так измеряется фактическая производительность.Частично это зависит от того, почему вы вообще смотрите на индексацию.Если есть проблема с производительностью, которую вы решаете, то вам необходимо убедиться, что проблема решена с помощью индекса или индексов, которые вы добавляете.Также необходимо убедиться, что стоимость добавления индексов для операций обслуживания (вставка, удаление, обновление) не является недопустимой - вы не добавили слишком много индексов.Вам также может понадобиться рассмотреть использование дискового пространства - можно ли выделять столько дискового пространства для стольких индексов.

Без более конкретной информации о вашей СУБД или конкретных запросах трудно дать более конкретный совет.

...