Этап 5. Физическое проектирование БД 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Этап 5. Физическое проектирование БД



Этап физического проектирования заключается в увязкелогической структуры БД и физической среды хранения с целью наиболееэффективного размещения данных, т.е. отображении логической структуры БД вструктуру хранения. Решается вопрос размещения хранимых данных в пространствепамяти, выбора эффективных методов доступа к различным компонентам"физической" БД. Результаты этого этапа документируются в форме схемыхранения на языке определения хранимых данных. Принятые на этом этапе решенияоказывают определяющее влияние на производительность системы.

Фактически проектирование БД имеет итерационныйхарактер. В процессе функционирования системы становится возможным измерение еёреальных характеристик, выявление "узких" мест. И если система неотвечает предъявляемым к ней требованиям, то обычно она подвергаетсяреорганизации, т.е. модификации первоначально созданного проекта.

Важным шагом на данном этапе необходимо проработатьвопрос использования индексов.

В системах, поддерживающих язык SQL, индекс создаётсякомандой CREATE INDEX. Индексы повышают производительность запросов, которыевыбирают относительно небольшое число строк из таблицы. Для определенияцелесообразности создания индекса нужно проанализировать запросы, обращённые ктаблице, и распределение данных в индексируемых столбцах.

Система может воспользоваться индексом поопределённому полю, если в запросе на значение этого поля накладываетсяусловие, например:

SELECT * FROM authorsWHERE name = ' Даль ';

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

Обращение к составному индексу возможно только в томслучае, если в условиях выбора участвуют столбцы, представляющие собойлидирующую часть составного индекса. Например, если индекс строится по столбцам(X, Y, Z), то обращение к индексу будет происходить в тех случаях, когда вусловии запроса участвуют столбцы XYZ, XY или X.

При создании индекса большое значение имеет понятиеселективности. Селективность определяется процентом строк, имеющиходинаковое значение индексируемого столбца: чем выше этот процент, тем меньшеселективность.

Выбор индексируемых столбцов определяется следующимисоображениями:

· В первую очередьвыбираются столбцы, которые часто встречаются в критериях поиска.

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

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

· Не индексируютсястолбцы, которые часто обновляются, т.к. команды обновления ведут к потеревремени на обновление индекса.

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

Необходимо произвестиэкспериментальные исследования, показывающие повышение (или снижение)быстродействия индексированной базы данных при выборке/добавлении/удаленииданных. Исследования производить многократным выполнением повторяющихсязапросов со случайными параметрами. На основании результатов исследованиясделать выводы о необходимости индексирования тех или иных столбцов таблиц базыданных.



Поделиться:


Последнее изменение этой страницы: 2016-12-30; просмотров: 307; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.217.144.32 (0.004 с.)