Анализ таблицы базы данных и использования - PullRequest
0 голосов
/ 11 октября 2011

Я только что вошел в новую компанию, и моя задача - оптимизировать производительность базы данных. Один из возможных (и предлагаемых) способов - использовать несколько серверов вместо одного. Поскольку есть много возможных способов сделать это, мне нужно сначала проанализировать БД. Есть ли инструмент, с помощью которого я могу измерить, сколько вставок / обновлений и удалений выполняется для каждой таблицы?

Ответы [ 2 ]

1 голос
/ 11 октября 2011

Я согласен с Surfer513, что DMV будет намного лучше, чем CDC. Добавление CDC довольно сложно и добавит нагрузку на систему. (См. Мою статью здесь для статистики.)

Я предлагаю сначала настроить SQL Server Trace , чтобы увидеть, какие команды выполняются долго.

Если ваша система интенсивно использует хранимые процедуры (что, как мы надеемся), также проверьте sys.dm_exec_procedure_stats . Это поможет вам сосредоточиться на процедурах / таблицах / представлениях, которые используются наиболее часто. Посмотрите на execute_count и total_worker_time.

Дело в том, что вы хотите определить, какие части вашей системы работают медленно (с помощью Trace), чтобы вы знали, где провести время.

0 голосов
/ 11 октября 2011

Один из способов - использовать Сбор данных изменений (CDC) или Отслеживание изменений . Не уверен, насколько глубоко вы ищете с этим, но есть другие более простые способы получить приблизительную оценку (не похоже, что вы хотите точные, просто приблизительные цифры ..?).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...