Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Оптимізація запитів в SQL

Реферат Оптимізація запитів в SQL





ляється зовнішнім оператором. До підзапитів застосовуються такі правила і обмеження:

Фраза ORDER BY не використовується, хоча і може бути присутнім в зовнішньому підзапиті; Список в пропозиції SELECT складається з імен окремих стовпців або складених з них виразів - за винятком випадку, коли в підзапиті присутній ключове слово EXISTS. Т.е, запит, що вибирає всі стовпці з таблиці (використовує "*" в якості списку параметрів) не застосовується; За замовчуванням імена стовпців в підзапиті відносяться до таблиці, ім'я якої зазначено в пропозиції FROM. Однак допускається посилання і на стовпчики таблиці, зазначеної у фразі FROM зовнішнього запиту, для чого застосовуються кваліфіковані імена стовпців (тобто з вказівкою таблиці); Якщо подзапрос є одним з двох операндів, що беруть участь в операції порівняння, то запит повинен вказуватися в правій частині цієї операції.

Сьогодні SQL дозволяє використовувати вкладені вкладені запити, використовувані в логічному умови вибірки. При цьому вкладені підзапити виступають в ролі однієї з логічних частин предиката. Стандарт мови SQL не накладаються ніяких обмежень на глибину вкладених підзапитів, що свідчить про теоретичну необмеженість їх числа. p align="justify"> Розглянемо приклад:


SELECT Tl.A FROM TlTl.B IN (SELECT T2.B FROM T2 WHERE Tl.C = T2.D)


Даний запит виробляє вибірку даних з таблиці T1 значень поля A, кортежі якої задовольняють умові, при якому безліч значень поля B, таблиці T1, перетинається з безліччю значень поля B, таблиці T2, утворене при виконанні умови рівності значень поля C, таблиці T1, і поля D, таблиці T2. При такій семантиці запиту, можливий єдиний алгоритм виконання - вкладений подзапрос буде обчислюватися щоразу при перевірці умови предиката. Тому немає необхідності доводити той факт, що вкладені підзапити не завжди є найефективнішим рішенням, а також, що, в більшості випадків, можна з успіхом обійтися без їх використання. Розглянутий запит може бути перетворений до наступного вигляду:

Tl.A FROM Tl.R2

WHERE Tl.B = T2.B AND Tl.C = R2.D


Результат виконання перетвореного запиту є повністю еквівалентним результату початкового запиту. Однак, не дивлячись на це, час виконання цих запитів може істотно різнитися. Як правило, запит, до складу якого входить вкладений підзапит, матиме більший час виконання. p align="justify"> Однак, з вищеописаного не випливає, що вкладені підзапити не варто застосовувати. Іноді без них досить складно обійтися. Покажемо це на прикладі наступного завдання:

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


Назад | сторінка 12 з 18 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Структура команди мови запитів SQL. Простий запит. Багатотабличного запит
  • Реферат на тему: Базові поняття реляційної моделі даних (створення таблиці MS Access)
  • Реферат на тему: Комп'ютерна обробка даних таблиці Microsoft Office Access
  • Реферат на тему: Відеореклама. Електронні таблиці
  • Реферат на тему: Електронні таблиці Excel 2003