Что лучший способ состоит в том, чтобы представить sqlserver базу данных 2005 года для производительности?

Вот решение, использующее purr:

sample_df<-iris
sample_df$Species<- NULL

library(purrr)

walk2(.x = list(Species=iris$Species,
          Sepal.Length=sample_df$Sepal.Length*100),
      .y = c("Species", "Sepal.Length"),
      function(x,y) {sample_df[y]<<-x})

sample_df

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

Если вы делаете это периодически в своем коде, я бы предложил использовать mutate из пакета dplyr.

6
задан digiguru 22 October 2008 в 15:19
поделиться

5 ответов

Шаг 1: установите панель инструментов производительности SQL Server.

Step2: прибыль.

Серьезно, Вы действительно хотите запуститься со взгляда на ту панель инструментов. Больше об установке и использовании это может быть найдено здесь и/или здесь

5
ответ дан 10 December 2019 в 00:46
поделиться

Для идентификации проблематичных запросов запускают Профилировщика, выбирают следующие События:

  • TSQL:BatchCompleted
  • TSQL:StmtCompleted
  • SP:Completed
  • SP:StmtCompleted

фильтр, произведенный, например,

  • Продолжительность> x мс (например, 100 мс, зависит главным образом от Ваших потребностей и типа системы),
  • ЦП> y мс
  • Чтения> r
  • Записи> w

В зависимости от того, что Вы хотите оптимизировать. Обязательно отфильтруйте вывод достаточно к не наличию тысяч просмотра datarows Вашего окна, потому что это повлияет на Вашу производительность сервера!

Ее полезное для входа вывода к таблице базы данных для анализа его впоследствии. Его также полезный для выполнения системного монитора Windows параллельно для просмотра загрузки ЦП, диска io и некоторых счетчиков производительности SQL Server. Настройте sysmon для сохранения данных в файл.

Чем Вы должны заставить производство типичная загрузка запросов и данные volumne на Вашей базе данных видеть многозначительные значения с профилировщиком.

После получения некоторого вывода от профилировщика можно прекратить представлять.

Затем загрузите хранившие данные из профильной таблицы снова в профилировщика и используйте importmenu для импорта вывода из systemmonitor, и профилировщик будет коррелировать вывод sysmon к данным профилировщика SQL. Это - очень хорошая функция.

В том представлении Вы сразу можете identifiy критические ресурсы относительно к Вашей памяти, диску или системе CPU.

При идентификации некоторых запросов, Вы хотите к omtimize, пойдите, чтобы запросить анализатор и смотреть план выполнения и попробовать к индексному использованию omtimize и созданию запроса.

3
ответ дан 10 December 2019 в 00:46
поделиться

Я имел хороший успех с инструментами Database Tuning, обеспеченными в SSMS или SQL Profiler при работе над SQL Server 2000.

Ключ должен работать с ХОРОШИМ демонстрационным набором, отследить часть производственной рабочей нагрузки TRUE для analsys, который получит лучший полный удар для маркера.

1
ответ дан 10 December 2019 в 00:46
поделиться

Я использую SQL Profiler, который идет с SQL Server. Большинство плохо работающих запросов, которые я нашел, не использует много ЦП, но генерирует тонну диска IO.

Я склонен вставлять фильтры на чтении с диска и искать запросы, которые имеют тенденцию делать больше чем приблизительно 20,000 чтений. Затем я смотрю на план выполнения относительно тех запросов, который обычно дает Вам информацию, необходимо оптимизировать или запрос или индексы на включенных таблицах.

1
ответ дан 10 December 2019 в 00:46
поделиться

Я использую несколько различных методов.

При попытке оптимизировать определенный запрос, используйте Query Analyzer. Используйте инструменты там как отображение плана выполнения и т.д.

Для Вашей ситуации, где Вы не уверены, КАКОЙ запрос работает медленно, один из самых мощных инструментов, которые можно использовать, SQL Profiler.

Просто выберите базу данных, Вы хотите представить, и позволить ей сделать свою вещь.

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

Вы собираетесь хотеть посмотреть на запросы, которые имеют много чтений или поднимают много процессорного времени и т.д.

Оптимизация является переносом, но продолжайте идти в ней, и самое главное, не предполагайте, что Вы знаете, где узкое место, найдите доказательство того, где это, и зафиксируйте ее.

0
ответ дан 10 December 2019 в 00:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: