Максим Чалышев - Oracle SQL. 100 шагов от новичка до профессионала

Тут можно читать онлайн Максим Чалышев - Oracle SQL. 100 шагов от новичка до профессионала - бесплатно ознакомительный отрывок. Жанр: comp-programming, год 11. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Oracle SQL. 100 шагов от новичка до профессионала
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    11
  • ISBN:
    нет данных
  • Рейтинг:
    5/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Максим Чалышев - Oracle SQL. 100 шагов от новичка до профессионала краткое содержание

Oracle SQL. 100 шагов от новичка до профессионала - описание и краткое содержание, автор Максим Чалышев, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Более 300 ответов на вопросы.
Более 500 практических заданий.
Более 1000 разобранных примеров.
Учебник справочник по языку SQL.

Oracle SQL. 100 шагов от новичка до профессионала - читать онлайн бесплатно ознакомительный отрывок

Oracle SQL. 100 шагов от новичка до профессионала - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Максим Чалышев
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

9213333331,Андрей, Некрасов,2,27

9213333332,Миша, Рогозин,2,21

9214444444,Алексей, Галкин,1,38

Вы можете создать эти файлы сами с помощью любого текстового редактора. Напоминаю, что кодировка файлов UTF8.

Перед использованием внешних таблиц необходимо создать специальный объект DIRECTORY, указывающий на каталог, где расположены файлы для внешних таблиц.

CREATE OR REPLACE DIRECTORY EXT_TAB_DATA AS ’c:/temp’;

Здесь ext_TAB_DATA — название объекта DIRECTORY;
AS ’c:/TEMP» — каталог, где расположены файлы для формирования внешних таблиц.

Далее формируем временные таблицы.

Создаем таблицу для файла CITY. csv:

Здесь CITY_EXT — название таблицы;
• TYPE — драйвер загрузки;
• DEFAULT DIRECTORY — объект-директория, которую мы создали;
• ACCESS PARAMETERS — параметры загрузки файла, см. документацию к LOADER;
• LOCATION — название файла, на основе которого создается внешняя таблица.

Создаем таблицу для файла MAN. csv:

Здесь CITY_EXT — название таблицы;
• TYPE — драйвер загрузки;
• DEFAULT DIRECTORY — объект-директория, который мы создали;
• ACCESS PARAMETERS — параметры загрузки файла, см. документацию к LOADER;
• LOCATION — название файла, на основе которого создается внешняя таблица.

Обращаемся к таблицам, которые мы создали, с помощью запроса:

Используем агрегатную функцию и группировку данных.

Соединяем внешнюю таблицу и обычную таблицу в запросе.

Используем аналитический SQL.

Важные замечания

• Для внешних таблиц могут создаваться представления и синонимы.

• Кодировка файлов во внешних таблицах должна совпадать с кодировкой базы данных.

• На папки, в которых собираются файлы для подготовки внешних таблиц, администратор системы должен выдать специальное разрешение на чтение пользователю, из-под которого устанавливалась ORACLE СУБД.

• Вешние таблицы неэффективны при частом обращении к этим таблицам в высоконагруженных проектах; для таких проектов следует искать другое решение.

Вопросы учеников

Где еще используются на практике внешние таблицы?

Довольно часто внешние таблицы используются при обмене данными между системами.

Где можно посмотреть материалы по ACCESS PARAMETERS?

В описании SQLLoader на сайте ORACLE.

В разобранном примере используется драйвер SQLLoader. Можно ли использовать другие драйвера?

Да, например можно для загрузки данных воспользоваться драйвером DATAPUMP.

Можно ли загрузить данные из внешней таблицы в обычную таблицу?

Да, и на этой возможности основано довольно много ETL (процедур загрузки).

Пример — следующий запрос создаст таблицу CITYcCODE:

Запрос добавляет в эту таблицу данные, не забудьте завершить запрос операцией COMMIT.

Контрольные вопросы и задания для самостоятельного выполнения

1. Изучите материалы данного шага.
2. Выгрузите таблицу AUTO в CSV-файл, перенесите получившийся файл в каталог TEMP.
3. Создайте внешнюю таблицу для созданного файла.
4. Напишите запрос к созданной таблице, группирующий авто по марке и считающий количество цветов заданной марки авто.
5. Создайте на основе этого запроса таблицу.
6. Перегрузите данные из внешнего файла в таблицу, используя SQL-запрос.

День двадцатый

Шаг 96. Оптимизатор запросов, чтение плана запроса

Введение

Любой SQL-запрос выполняется по заданному плану. В плане выполнения запроса описывается последовательность операций для доступа к данным, особенности использования, последовательность операций сортировок и объединения строк таблиц. Профессиональный SQL-разработчик должен уметь читать план запроса, чтобы оценить эффективность выполнения запроса.

Теория и практика

План запроса строит оптимизатор ORACLE, задача разработчика — анализируя план запроса, найти проблемные места в производительности и постараться решить проблемы.

Для того чтобы посмотреть план запроса, необходимо выполнить команду:

EXPLAIN PLAN FOR SELECT FIRSTNAME, LASTNAME FROM MAN WHERE CITYCODE> 1; — или любой другой запрос

Здесь SELECT FIRSTNAME, LASTNAME FROM MAN WHERE CITYCODE> 1; может быть изменен на любой другой запрос.

После выполнения данной команды можно посмотреть план запроса с помощью команды:

SELECT * FROM TABLE (DBMS_XPLAN. DISPLAY (NULL, NULL,«BASIC»));

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

Рисунок 245. План запроса: сервис APEX

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

Как читать план запроса?

План запроса читается с самого дальнего уровня: читается операция самого максимального уровня вложения.

На представленном плане запроса:

• Операция — операция;

• OPTION — доступ к данным;

• Объект — таблица или представление, из которого выбираются данные;

• ROWS — количество строк, которое извлекается операцией;

• TIME — условное время, за которое выполняется та или иная операция;

• COST — стоимость операций для оптимизатора.

Наибольшее внимание следует обратить на параметр COST — это стоимость той или иной операции, стоимость выполнения данной операции и совокупности операций извлечения данных.

Следует стремиться к тому, чтобы минимизировать параметр Cost при выполнении данного запроса. Для этого следует обратить внимание на использование индексов в таблицах запроса, правильное построение связей. Разберем несколько планов запросов: во-первых, план с рисунка.

— Таблица AUTO: извлекаются все строки из таблицы, стоимость операции 7 (COST), извлекается 10 строк, стоимость операции 7.

— Осуществляется обращение к таблице MAN, которое происходит по UNIQUE INDEX SCAN, извлекается 1 строка (ROW), стоимость операций 0 для каждой строки таблицы AUTO.

— Для объединения двух таблиц (операции 1, 2) используются вложенные циклы NESTED LOOP, в результате операции получаем 5 строк, стоимость данной операции 7 складывается из стоимости операций 1 плюс стоимость операций 2.

— Для связанных данных используется операция группировки, 3 строки, общая стоимость 8.

— Результат помещается в запрос (3 строки).

Далее осуществляется операция группировки со стоимостью cost 8.

Ниже представлен список операций, которые используются, и опций доступа к данным.

Разбор запроса на связь двух таблиц AUTO, MAN.

Рисунок 246. План запроса: AUTO, MAN

1) Из таблицы AUTO извлекаются 7 строк — стоимость 3.
2) Из таблицы по идексу извлекаются 9 строк — стоимость 2+1.
3) Обьединение извлеченных строк MERGE JOIN — общая стоимость 6.
Общий результат — стоимость 6, извлечено 7 строк.

Пример 2.Разбор плана запроса на объединение двух таблиц с ограничением MARK = «BMW».

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Максим Чалышев читать все книги автора по порядку

Максим Чалышев - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Oracle SQL. 100 шагов от новичка до профессионала отзывы


Отзывы читателей о книге Oracle SQL. 100 шагов от новичка до профессионала, автор: Максим Чалышев. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x