🗊 Презентация Физическое проектирование БД. Индексы

Категория: Информатика
Нажмите для полного просмотра!
Физическое проектирование БД. Индексы, слайд №1 Физическое проектирование БД. Индексы, слайд №2 Физическое проектирование БД. Индексы, слайд №3 Физическое проектирование БД. Индексы, слайд №4 Физическое проектирование БД. Индексы, слайд №5 Физическое проектирование БД. Индексы, слайд №6 Физическое проектирование БД. Индексы, слайд №7 Физическое проектирование БД. Индексы, слайд №8 Физическое проектирование БД. Индексы, слайд №9 Физическое проектирование БД. Индексы, слайд №10 Физическое проектирование БД. Индексы, слайд №11 Физическое проектирование БД. Индексы, слайд №12 Физическое проектирование БД. Индексы, слайд №13 Физическое проектирование БД. Индексы, слайд №14 Физическое проектирование БД. Индексы, слайд №15 Физическое проектирование БД. Индексы, слайд №16 Физическое проектирование БД. Индексы, слайд №17 Физическое проектирование БД. Индексы, слайд №18 Физическое проектирование БД. Индексы, слайд №19 Физическое проектирование БД. Индексы, слайд №20 Физическое проектирование БД. Индексы, слайд №21 Физическое проектирование БД. Индексы, слайд №22 Физическое проектирование БД. Индексы, слайд №23 Физическое проектирование БД. Индексы, слайд №24 Физическое проектирование БД. Индексы, слайд №25

Содержание

Вы можете ознакомиться и скачать презентацию на тему Физическое проектирование БД. Индексы. Доклад-сообщение содержит 25 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Курс «Базы данных» Тема: Физическое проектирование БД. Индексы Барабанщиков Игорь Витальевич
Описание слайда:
Курс «Базы данных» Тема: Физическое проектирование БД. Индексы Барабанщиков Игорь Витальевич

Слайд 2


План лекции Алгоритмы поиска данных, используемые СУБД. В+-деревья. Индексы СУБД Oracle. Рекомендации по использованию индексов.
Описание слайда:
План лекции Алгоритмы поиска данных, используемые СУБД. В+-деревья. Индексы СУБД Oracle. Рекомендации по использованию индексов.

Слайд 3


Поиск данных в БД В БД часто используются операции поиска данных. Пример: Найти всех студентов с фамилией Кио. Просмотр всех записей в таблице...
Описание слайда:
Поиск данных в БД В БД часто используются операции поиска данных. Пример: Найти всех студентов с фамилией Кио. Просмотр всех записей в таблице использовать неэффективно – долго работает. Для ускорения поиска в базах данных используют вспомогательные объекты: индексы.

Слайд 4


Индекс Индекс – это структура, которая определяет соответствие значения ключа записи (атрибута или группы атрибутов) и местоположения этой записи в...
Описание слайда:
Индекс Индекс – это структура, которая определяет соответствие значения ключа записи (атрибута или группы атрибутов) и местоположения этой записи в таблице. В основе работы индекса лежит алгоритм бинарного поиска.

Слайд 5


Бинарный поиск
Описание слайда:
Бинарный поиск

Слайд 6


Бинарное дерево поиска Бинарное дерево поиска — это дерево, в котором ключ в каждом узле должен быть: Больше, чем любой из ключей в ветке слева....
Описание слайда:
Бинарное дерево поиска Бинарное дерево поиска — это дерево, в котором ключ в каждом узле должен быть: Больше, чем любой из ключей в ветке слева. Меньше, чем любой из ключей в ветке справа. Несмотря на высокую скорость поиска, дерево плохо работает в случаях, когда нужно получить несколько элементов в пределах двух значений (BETWEEN a AND b).

Слайд 7


В+дерево Нужен более эффективный способ запроса диапазона. В современных БД для этого используется модифицированная версия дерева — В+дерево. Его...
Описание слайда:
В+дерево Нужен более эффективный способ запроса диапазона. В современных БД для этого используется модифицированная версия дерева — В+дерево. Его особенность в том, что информацию (ID строк связанной таблицы) хранят лишь самые нижние узлы («листья»), а все остальные узлы предназначены для оптимизации поиска по дереву.

Слайд 8


B+tree индекс Oracle
Описание слайда:
B+tree индекс Oracle

Слайд 9


Сканирование B+tree индекса Листовые блоки содержат по 2 элемента: - индексированные значения столбца - идентификатор ROWID строки, которая содержит...
Описание слайда:
Сканирование B+tree индекса Листовые блоки содержат по 2 элемента: - индексированные значения столбца - идентификатор ROWID строки, которая содержит это значение столбца. ROWID – уникальный указатель Oracle, определяющий физическое местоположение строки и обеспечивающий самый быстрый способ доступа к строке в БД Oracle. Сканирование индекса быстро дает ROWID строки, и отсюда можно быстро получить доступ к ней. Большинство B-деревьев имеет всего три и менее уровней. Для выполнения поиска по B-дереву понадобится всего три или менее обращений к диску.

Слайд 10


Сбалансированное дерево В общем случае получим некоторое дерево, каждый родительский блок которого связан с одинаковым количеством подчиненных...
Описание слайда:
Сбалансированное дерево В общем случае получим некоторое дерево, каждый родительский блок которого связан с одинаковым количеством подчиненных блоков, число которых равно числу индексных записей, размещаемых в одном блоке. Количество обращений к диску при этом для поиска любой записи одинаково и равно количеству уровней в построенном дереве. Такие деревья называются сбалансированными (balanсed) именно потому, что путь от корня до любого листа в этом древе одинаков. Именно термин "сбалансированное" от английского "balanced" — "сбалансированный, взвешенный" и дал название данному методу организации индекса.

Слайд 11


Индексы СУБД Oracle В*Tree индексы: - наиболее часто используемый тип индекса Reverse – индексы Индексы, основанные на функциях (function-based)...
Описание слайда:
Индексы СУБД Oracle В*Tree индексы: - наиболее часто используемый тип индекса Reverse – индексы Индексы, основанные на функциях (function-based) Bitmap-индексы Составные индексы

Слайд 12


Создание индексов Индексы создаются в БД с помощью команды CREATE INDEX. Создание обычного индекса CREATE INDEX idx_emp ON emp(last_name); Создание...
Описание слайда:
Создание индексов Индексы создаются в БД с помощью команды CREATE INDEX. Создание обычного индекса CREATE INDEX idx_emp ON emp(last_name); Создание уникального индекса CREATE UNIQUE INDEX idx_id ON emp(emp_id);

Слайд 13


Reverse – индексы Reverse index – это тоже B-tree индекс, но с обратным порядком байтов. Благодаря перестановке байтов две соседние записи индекса...
Описание слайда:
Reverse – индексы Reverse index – это тоже B-tree индекс, но с обратным порядком байтов. Благодаря перестановке байтов две соседние записи индекса попадают в разные блоки индекса. Используются в основном для монотонно возрастающих значений с целью снятия конкуренции за последний листовой блок индекса. Не может использоваться для диапазонного поиска. Когда в запросе присутствует предикат неравенства, ответ получается медленнее.

Слайд 14


Пример Reverse-индекс Значение в индексе изменяется намного больше, чем само значение в таблице, и поэтому в структуре B-Tree, они попадут в разные...
Описание слайда:
Пример Reverse-индекс Значение в индексе изменяется намного больше, чем само значение в таблице, и поэтому в структуре B-Tree, они попадут в разные блоки.

Слайд 15


Пример Программа продажи билетов на поезда В таблицу TICKET (билет) каждую секунду вставляется много новых записей. При наличии обычного индекса...
Описание слайда:
Пример Программа продажи билетов на поезда В таблицу TICKET (билет) каждую секунду вставляется много новых записей. При наличии обычного индекса возникает конкуренция за самый правый листовой блок индекса. Для решения проблемы надо создать реверсивный индекс: CREATE INDEX ticket_idx ON ticket(ticket_id) REVERSE;

Слайд 16


Function-based Index Индексы на основе функций предварительно вычисляют значения функций по заданному столбцу и сохраняют результат в индексе....
Описание слайда:
Function-based Index Индексы на основе функций предварительно вычисляют значения функций по заданному столбцу и сохраняют результат в индексе. Функциональные индексы часто строятся для полей, значения которых проходят предварительную обработку перед сравнением в команде SQL. -- создаем индекс на основе функции UPPER CREATE INDEX firstname_idx ON emp(UPPER(fname)); -- выполняем запрос SELECT * FROM emp WHERE UPPER(fname) = ‘ИВАН’;

Слайд 17


Bitmap Index Bitmap index – содержит отдельные битовые карты для каждого возможного значения столбца. Каждому биту соответствует строка с...
Описание слайда:
Bitmap Index Bitmap index – содержит отдельные битовые карты для каждого возможного значения столбца. Каждому биту соответствует строка с индексируемым значением. Если значение бита равно 1 – значит запись, соответствующая позиции бита, содержит индексируемое значение для данного столбца. Применяются, в основном, в OLAP-системах. Это идеальный индекс для столбца с низкой селективностью (число уникальных записей в таблице мало) при большом размере таблицы. Чувствительны к перестроению индекса.

Слайд 18


Структура bitmap-индекса
Описание слайда:
Структура bitmap-индекса

Слайд 19


Пример BITMAP-индекса В таблице EMP есть поле SEX (пол), которое обладает низкой селективностью – может принимать всего два значения. CREATE BITMAP...
Описание слайда:
Пример BITMAP-индекса В таблице EMP есть поле SEX (пол), которое обладает низкой селективностью – может принимать всего два значения. CREATE BITMAP INDEX idx_sex ON emp(sex); Битовый индекс – не слишком разумная альтернатива для таблиц, подвергающихся большому количеству вставок, удалений и обновлений.

Слайд 20


Советы по работе с индексами Создавайте индексы на следующие поля: первичный ключ, такой индекс создается автоматически; внешний ключ или поле,...
Описание слайда:
Советы по работе с индексами Создавайте индексы на следующие поля: первичный ключ, такой индекс создается автоматически; внешний ключ или поле, которое часто используется для связи таблиц. поле, используемые для частого поиска ряда значений (WHERE); поле, по которому сортируются данные (ORDER BY, UNION, DISTINCT); поля, которые группируются во время агрегации (GROUP BY); поле, которое часто используется в запросах SELECT. Индекс имеет смысл, если нужно обеспечить доступ одновременно не более чем к 4-5% данных таблицы.

Слайд 21


Советы по работе с индексами Не стоит создавать индексы на поля если: Столбцы редко используются в запросе; Столбцы содержат значения с низкой...
Описание слайда:
Советы по работе с индексами Не стоит создавать индексы на поля если: Столбцы редко используются в запросе; Столбцы содержат значения с низкой селективностью (неуникальные). Исключения для низкой селективности составляют случаи, при которых выборка чаше производится по редко встречающимся значениям Столбцы состоят из длинно-символьных строк или BLOB. Колонки с этими типами данных не могут быть проиндексированы. Столбцы часто обновляются, т.к. команды обновления ведут к потере времени на обновление индекса Таблица сравнительно небольшая. Для таких таблиц больше подходит полное сканирование. В случае маленьких таблиц нет необходимости в хранении данных и таблиц, и индексов.

Слайд 22


Составные индексы Составной индекс включает 2 и более столбца одной таблицы. В некоторых случаях использование составного индекса предпочтительнее,...
Описание слайда:
Составные индексы Составной индекс включает 2 и более столбца одной таблицы. В некоторых случаях использование составного индекса предпочтительнее, чем одиночного: Если в запросах часто используются только столбцы, участвующие в индексе, система может вообще не обращаться к таблице для поиска данных. Несколько столбцов с низкой селективностью в комбинации друг с другом могут дать гораздо более высокую селективность.

Слайд 23


Применение составных индексов CREATE TABLE emp(id, name, sex, hobby, age) CREATE INDEX i_emp ON emp(hobby, age, sex) Обращение к составному индексу...
Описание слайда:
Применение составных индексов CREATE TABLE emp(id, name, sex, hobby, age) CREATE INDEX i_emp ON emp(hobby, age, sex) Обращение к составному индексу возможно только, если в условиях выбора участвуют столбцы, представляющие собой лидирующую часть составного индекса. Обращение к индексу будет происходить в тех случаях, когда в условии запроса участвуют поля (hobby, age, sex), (hobby, age) или (hobby).

Слайд 24


Использование индексов Каждый индекс связан с определенной таблицей Индекс обычно хранится отдельно от таблицы СУБД использует индексы неявно при...
Описание слайда:
Использование индексов Каждый индекс связан с определенной таблицей Индекс обычно хранится отдельно от таблицы СУБД использует индексы неявно при выполнении команд SQL. СУБД поддерживает индексы в актуальном состоянии.

Слайд 25


Итоги При разработке эффективных приложений важным этапом является физическое проектирование БД. Одной из задач физического проектирования БД...
Описание слайда:
Итоги При разработке эффективных приложений важным этапом является физическое проектирование БД. Одной из задач физического проектирования БД является создание индексов. СУБД Oracle предоставляет богатые возможности для выбора индексов.



Похожие презентации
Mypresentation.ru
Загрузить презентацию