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

Здесь есть возможность читать онлайн «Максим Чалышев - Oracle SQL. 100 шагов от новичка до профессионала» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 11, Жанр: Программирование, Базы данных, Прочая околокомпьтерная литература, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Oracle SQL. 100 шагов от новичка до профессионала: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Oracle SQL. 100 шагов от новичка до профессионала»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Более 300 ответов на вопросы.
Более 500 практических заданий.
Более 1000 разобранных примеров.
Учебник справочник по языку SQL.

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

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Oracle SQL. 100 шагов от новичка до профессионала», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Совмещенный тип фрагментации

Тип фрагментации, совмещающий в себе фрагментацию с использованием хэш-функции и фрагментацию по диапазону значений.

Синтаксис

Для создания и фрагментации таблиц используется дополнительная синтаксическая конструкция в команде CREATE ТABLE — PATITION BY.

Обычный синтаксис для создания ферментированной таблицы выглядит следующим образом:

Описание фрагментов:

(partition имя фрагмента1 (партиции) название табличного пространства,

partition имя фрагмента2 (партиции) название табличного пространства)

или

PARTITION BY RANGE (имя столбца для проверки на соответствие диапазону фрагмента)

(PARTITION имя фрагмента1 VALUES LESS THAN

(выражение1)) имя табличного пространства,

(PARTITION имя фрагмента1 VALUES LESS THAN

(выражение2)) имя табличного пространства

Выгажение 1, Выражение 2 задают диапазон для данных для определения фрагмента таблицы (партиции), к которому эти данные относятся.

Специфика использования оператора SELECT для выбора данных из фрагментированных таблиц

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

Пример:

Данный запрос выведет данные из фрагмента таблицы pt_3.

Фрагментация по диапазону значений.

Создадим таблицу проводок с фрагментацией по диапазону значений.

Заполним таблицу проводок значениями.

Выберем данные из таблицы.

SUMM DOCDATE DOCNUM

6226 11.01.2014 19170
3561 10.01.2014 41482
7106 09.01.2014 5604
5177 02.01.2014 1917
7090 02.01.2014 26399
692 07.01.2014 39100
8246 23.01.2014 38502
3364 30.01.2014 2813
7014 22.01.2014 41248
2331 11.01.2014 33239

SUMM DOCDATE DOCNUM

6226 11.01.2014 19170
3561 10.01.2014 41482
7106 09.01.2014 5604

SUMM DOCDATE DOCNUM

7131 13.02.2014 15345
2765 26.02.2014 47587
6594 16.02.2014 24707

4832 30.03.2014 10615
4300 06.03.2014 20531
5897 07.03.2014 47711

SUMM DOCDATE DOCNUM

521 07.04.2014 35258
7416 05.04.2014 32045
1589 07.04.2014 46956

Следующий пример демонстрирует разбиение на фрагменты таблицы в зависимости от года, к которому принадлежит проводка.

Следующий пример иллюстрирует использование фрагментации таблицы в зависимости от числового значения.

Фрагментация с использованием списка значений.

Создание таблицы:

Заполняем таблицу:

Проверяем:

SUMM DOCDATE DOCTYPE
1 9445 26.01.2013 PP
2 6120 21.01.2012 PP
3 8374 18.02.2013 PP
4 533 24.04.2011 PP
5 77 27.02.2013 PO
6 5046 12.01.2011 PO

SUMM DOCDATE DOCTYPE
1 9445 26.01.2013 PP
2 6120 21.01.2012 PP
3 8374 18.02.2013 PP

SUMM DOCDATE DOCTYPE
1 3046 21.12.2011 RR
2 2093 07.09.2012 RR
3 9233 14.08.2012 RR

SUMM DOCDATE DOCTYPE
1 7980 11.12.2012 RO
2 9338 01.03.2012 SO
3 9784 22.11.2012 RO

Фрагментация с использованием хэш-функции

Создадим таблицу проводок с фрагментацией по хэш-функции.

Заполним ее данными:

Выберем данные из таблицы:

А также выполним оператор SELECT для каждого из фрагментов (секций) таблицы:

Смешанный тип фрагментации

Смешанный тип фрагментации предусматривает как фрагментацию по диапазону значений, так и дополнительную фрагментацию по хэш-функции или фрагментацию по списку значений.

Заполним таблицу PRO_RANGE_HASH:

Управление данными во фрагментах таблицы

Попробуем внести данные в таблицу, которые не подходят по условиям ни в один из фрагментов (секций).

Сервер выведет ошибку Ora-144000. Вставленный ключ секции не соответствует ни одной секции.

Изменим данные таким образом, чтобы изменилась принадлежность записей к фрагменту.

Получим ошибку обновление ключа секции, что приведет к ее изменению…

Как же сделать возможным перенос строк?

Для этого необходимо включить для выбранной таблицы опцию ROW MOVEMENT.

Выполним скрипт:

На этот раз ошибок не было. Обновление строк в таблице прошло успешно.

А собственно, зачем это все было необходимо? Как это применить?

У вас есть три табличных пространства, нам в данный момент нужна только оперативная информация по документам типа RR из таблицы PRO_LIST в табличном пространстве номер TBLSP2.

Отключим остальные табличные пространства и перенесем их на архивный диск.

Выполним запрос по таблице PRO_LIST:

Получим системную ошибку о том, что сегмент не может быть прочитан.

Скорректируем запрос, так как нам нужны только документы RR.

Запрос выполнен без ошибок.

SUMM DOCDATE DOCTYPE
3046 21.12.2011 RR
2093 07.09.2012 RR
9233 14.08.2012 RR
5474 09.03.2013 RR

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

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

Интервал:

Закладка:

Сделать

Похожие книги на «Oracle SQL. 100 шагов от новичка до профессионала»

Представляем Вашему вниманию похожие книги на «Oracle SQL. 100 шагов от новичка до профессионала» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


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

Обсуждение, отзывы о книге «Oracle SQL. 100 шагов от новичка до профессионала» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x