Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Microsoft SQL Server: мониторинг и оптимизация производительности
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

Задание для самостоятельной работы 7

Оптимизация производительности запроса

Оптимизация запросов SQL Server, команда SET STATISTICS IO ON

Задание:

Ваше приложение должно внести изменения в таблицу sales_fact_1998 базы данных Foodmart, увеличив расходы магазина (store_cost) для магазина номер 15 (столбец store_id) на 15 процентов, а расходы магазина номер 13 — на 10 процентов.

В профилировщике вы увидели следующий код:

BEGIN TRAN

UPDATE [sales_fact_1998] SET store_cost = store_cost*1.15 where store_id = 15

UPDATE [sales_fact_1998] SET store_cost = store_cost*1.1 where store_id = 13

COMMIT TRAN

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

Решение:

Более эффективный код для выполнения операций вставки может выглядеть, например, так:

BEGIN TRAN

UPDATE [sales_fact_1998]

SET store_cost =

CASE

    WHEN store_id = 15

    THEN store_cost*1.15

    WHEN store_id = 13

    THEN store_cost*1.1   

END

WHERE store_id = 15 OR store_id = 13

COMMIT TRAN

Убедиться, что действительно произошло снижение количества операций ввода-вывода в два раза, можно, использовав команду SET STATISTICS IO ON и посчитав общее количество операций логического чтения.

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 
© 2004-2008, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru