Оптимізація запитів

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2009
Тип роботи:
Звіт
Предмет:
Бази даних
Група:
ПІ

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА" Інститут КНІТ Кафедра ПЗ ЗВІТ До лабораторної роботи № 3 На тему: “ Оптимізація запитів ” З дисципліни : " Бази даних. Частина 2 " Лектор: Доцент Павич Н.Я. Тема роботи: Оптимізація запитів Мета роботи: Навчитися використовувати оптимізатор запитів. Індивідуальне завдання Створити базу даних із архітектурою таблиць згідно варіанту. Всі новостворені об’єкти бази даних помістити у наперід створену схему бази даних. Внести відповідні дані у таблиці. Виконати індивідуальне завдання згідно варіанту для відповідної навчальної бази даних. Проглянути план виконання запиту. Використовуючи SQL Query Аnalyzer и SQL Profiler здійснити оптимізацію запиту. Якщо запит надто простий, то ускладнити його штучно зайвими операціями. Привести отриманий план запиту. Варіант 24*. Порахувати залишок грошових коштів на початок дня 15/04/01 на кожному пункті прийому для бази даних зі звітністю не частіше одного разу на день. Висновок: пункт, залишок. Результати виконання завдання Створюємо схему бази даних: USE [RCompany] GO CREATE SCHEMA [ComSchema] AUTHORIZATION [CompanyEmployee] GO Створюємо структуру бази дних та поміщаємо всі об’єкти у раніше створену схему: USE [RCompany] GO create table ComSchema.Income( code int not null Primary key, point tinyint not null, [date] datetime not null, inc smallmoney not null ) go create table ComSchema.Outcome( code int not null Primary key, point tinyint not null, [date] datetime not null, [out] smallmoney not null ) go create table ComSchema.Income_o( point tinyint not null, [date] datetime not null, inc smallmoney not null constraint PK_Income_o primary key clustered ( point, [date] ) ) go create table ComSchema.Outcome_o( point tinyint not null, [date] datetime not null, [out] smallmoney not null constraint PK_Outcome_o primary key clustered ( point, [date] ) ) go В результаті отримаємо наступний вигляд структури бази даних :  Заносимо дані в таблиці: use RCompany go insert into ComSchema.Income_o (point, [date], inc) Values (1, '2001-04-15', 2569), (2, '2001-04-15', 12457), (3, '2001-04-15', 5497), (4, '2001-04-15', 21446), (5, '2001-04-15', 2479), (1, '2001-04-16', 2569), (2, '2001-04-16', 21457), (3, '2001-04-16', 6354), (4, '2001-04-16', 9845), (5, '2001-04-16', 4215) go insert into ComSchema.Outcome_o (point, [date], out) Values (1, '2001-04-15', 569), (2, '2001-04-15', 2457), (3, '2001-04-15', 3000), (4, '2001-04-15', 10457), (5, '2001-04-15', 1475) go Виконання індивідуально завдання: Запит: use RCompany go SET STATISTICS IO ON; select i.point as point, i.inc - o.[out] as result from ComSchema.Income_o i join ComSchema.Outcome_o o on i.[date] = o.[date] and i.point = o.point and i.[date] = '2001-04-15'; SET STATISTICS IO OFF; План виконання запиту:  Повідомлення про ввід/вивід Table 'Outcome_o'. Scan count 0, logical reads 10, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. Table 'Income_o'. Scan count 1, logical reads 2, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. Для оптимізації запиту використаємо підказку FAST n. Оптимізований запит: select i.point as point, i.inc - o.[out] as result from ComSchema.Income_o i join ComSchema.Outcome_o o on i.[date] = o.[date] and i.point = o.point and i.[date] = '2001-04-15' option (fast 5); Повідомлення про ввід/вивід Table 'Income_o'. Scan count 1, logical reads 11, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0. Table 'Outcome_o'. Scan count 1, logical reads 2, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.  Висновок На даній лабораторній роботі я навчився використовувати оптимізацію запитів, користуватися засобами SQL Query Аnalyzer і SQL Profiler, навчився переглядати плани виконання запитів та впливати на їх зміну.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!