DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

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

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА" Інститут КНІТ Кафедра ПЗ ЗВІТ До лабораторної роботи № 3 На тему: “ Оптимізація запитів ” З дисципліни : " Бази даних. Частина 2 " Лектор: Доцент Павич Н.Я. Тема роботи: Оптимізація запитів Мета роботи: Навчитися використовувати оптимізатор запитів. Індивідуальне завдання Створити базу даних із архітектурою таблиць згідно варіанту. Всі новостворені об’єкти бази даних помістити у наперід створену схему бази даних. Внести відповідні дані у таблиці. Виконати індивідуальне завдання згідно варіанту для відповідної навчальної бази даних. Проглянути план виконання запиту. Використовуючи SQL Query Аnalyzer и SQL Profiler здійснити оптимізацію запиту. Якщо запит надто простий, то ускладнити його штучно зайвими операціями. Привести отриманий план запиту. Варіант 6. Знайдіть середню швидкість ПК, випущених виробником A. Варіант 24*. Порахувати залишок грошових коштів на початок дня 15/04/01 на кожному пункті прийому для бази даних зі звітністю не частіше одного разу на день. Висновок: пункт, залишок. Результати виконання завдання 1.Створення бази даних і чотирьох таблиць: Product, PC, Laptop, Printer. Відповідні SQL скрипти: USE [DateBaseKlyovan] GO CREATE TABLE [ComputerFirm].[MyProduct]( [maker] [varchar](10) PRIMARY KEY, [model] [varchar](50) NOT NULL, [type] [varchar](50) NOT NULL ) GO USE [DateBaseKlyovan] GO CREATE TABLE [ComputerFirm].[MyPC]( [code] [int] PRIMARY KEY, [model] [varchar](50) NOT NULL, [speed] [smallint] NOT NULL, [ram] [smallint] NOT NULL, [hd] [real] NOT NULL, [cd] [varchar](10) NOT NULL, [price] [money] NULL ) GO USE [DateBaseKlyovan] GO CREATE TABLE [ComputerFirm].[MyLaptop]( [code] [int] PRIMARY KEY, [model] [varchar](50) NOT NULL, [speed] [smallint] NOT NULL, [ram] [smallint] NOT NULL, [hd] [real] NOT NULL, [price] [money] NULL, [screen] [tinyint] NOT NULL ) GO USE [DateBaseKlyovan] GO CREATE TABLE [ComputerFirm].[MyPrinter]( [code] [int] PRIMARY KEY, [model] [varchar](50) NOT NULL, [color] [char](1) NOT NULL, [type] [varchar](10) NOT NULL, [price] [money] NULL ) GO Вигляд таблиць та встановлених зв’язків на діаграмі:  2. Створення схеми бази даних: USE [DateBaseKlyovan] GO CREATE SCHEMA [ComputerFirm] AUTHORIZATION [UserKlyovan] GO Задання створеної схеми схемою за замовчуванням для даного користувача. Після цього всі новостворені таблиці поміщатимуться в цю схему: USE [DateBaseKlyovan] GO ALTER USER [UserKlyovan] WITH DEFAULT_SCHEMA=[ComputerFirm] GO 3. Внесення відповідних даних у таблиці: INSERT INTO [DataBaseKlyovan].[ComputerFirm].[MyProduct] VALUES ('Samsung','1428','PC'); INSERT INTO [DataBaseKlyovan].[ComputerFirm].[MyProduct] VALUES ('Samsung','1429','PC'); INSERT INTO [DataBaseKlyovan].[ComputerFirm].[MyProduct] VALUES ('Samsung','1621','Laptop'); INSERT INTO [DataBaseKlyovan].[ComputerFirm].[MyProduct] VALUES ('HP','3734','Laptop'); INSERT INTO [DataBaseKlyovan].[ComputerFirm].[MyProduct] VALUES ('HP','3992','Printer'); INSERT INTO [DataBaseKlyovan].[ComputerFirm].[MyProduct] VALUES ('SomeFirm','7144','PC'); INSERT INTO [DataBaseKlyovan].[ComputerFirm].[MyProduct] VALUES ('SomeFirm','7321','Laptop'); INSERT INTO [DataBaseKlyovan].[ComputerFirm].[MyProduct] VALUES ('SomeFirm','7979','Printer'); INSERT INTO [DateBaseKlyovan].[ComputerFirm].[MyPC] VALUES(40,'1428',1200,512,160,'52x',250); INSERT INTO [DateBaseKlyovan].[ComputerFirm].[MyPC] VALUES (41,'1428',1200,1024,500,'52x',350); INSERT INTO [DateBaseKlyovan].[ComputerFirm].[MyPC] VALUES (84,'7144',1500,2048,320,'52x',500); INSERT INTO [DateBaseKlyovan].[ComputerFirm].[MyLaptop] VALUES(44,'1621',1200,512,160,400,15); INSERT INTO [DateBaseKlyovan].[ComputerFirm].[MyLaptop] VALUES (72,'3734',800,256,80,250,14); INSERT INTO [DateBaseKlyovan].[ComputerFirm].[MyLaptop] VALUES (87,'7321',1500,1024,240,NULL,15); INSERT INTO [DateBaseKlyovan].[ComputerFirm].[MyPrinter] VALUES(75,'3992','y','Laser',200); INSERT INTO [DateBaseKlyovan].[ComputerFirm].[MyPrinter] VALUES(88,'7979','n','Jet',140); INSERT INTO [DateBaseKlyovan].[ComputerFirm].[MyPrinter] VALUES(89,'7979','n','Matrix',120) Виконання індивідуально завдання: Запит: 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, навчився переглядати плани виконання запитів та впливати на їх зміну.
Антиботан аватар за замовчуванням

2015

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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