Студопедия

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника



Физическое проектирование БД. Индексы, кластеры.

Читайте также:
  1. Анализ и проектирование рабочего места.
  2. Анализ и проектирование рабочего места: понятие, этапы, методы
  3. Анализ и проектирование содержания производственного обучения по дисциплине профессиональнго цикла.
  4. Анализ и проектирование содержания теоретического обучения по дисциплине профессионального цикла
  5. Билет №45 Проектирование организационных структур управления.
  6. Вопрос 47. Проектирование створа сброса сточных вод и контроля за их разбавлением.
  7. Вопрос 53. Социально-педагогическое проектирование. Виды проектов, требования к социально-педагогическим проектам.
  8. Вопрос 72. Экологическое проектирование и экспертиза на землях лесного фонда. первой группы лесов.
  9. Вопрос 74. Экологическое проектирование и экспертиза на землях лесного фонда третьей группы лесов.
  10. Вопрос: Физическое воспитание детей дошкольного возраста: значение, задачи, средства, условия

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

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

• индексировать нужно атрибуты, по которым наиболее часто осуществляется поиск или соединение. Наличие индекса замедляет операции модификации, но ускоряет поиск;

• наличие индекса обязательно, если для атрибута или набора атрибутов указано ограничение unique. Такие индексы СУБД создает автоматически, если в описании таблицы указаны ограничения unique;

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

• атрибуты, входящие во внешний ключ, также следует индексировать, если СУБД не делает эту операцию автоматически при декларации внешнего ключа;

• в некоторых СУБД поддерживаются bitmap-индексы, которые очень эффективны при поиске на равенство, но для поиска на этот тип индексов не годится;

• в некоторых СУБД поддерживаются хеш-индексы, например для кластеров. Такие индексы эффективно используются при поиске на равенство.

Кластеризация — это попытка разместить рядом в одном физическом блоке данных те строки, доступ к которым осуществляется при помощи одинаковых значений ключа. Индексные кластеры, например, удобно использовать для хранения родительской и дочерних строк таблиц, связанных ссылочной целостностью. Кластеры удобно определять для тех наборов атрибутов, соединение по которым проводится наиболее часто, поскольку это увеличивает скорость поиска. Следует отметить, что в реализациях СУБД существуют жесткие ограничения на количество кластеров для таблицы, как правило, это один кластер. Особенности реализации кластеров в СУБД необходимо учитывать при проектировании критичных по времени выполнения модулей. Нужно обратить внимание, насколько сильно влияет наличие кластера на производительность DML-операций. Чаще всего это оказывает отрицательное влияние, которое в некоторых реализациях распространяется на DML-операции над любой таблицей базы данных, а не только над той, для которой определен кластер. Эти особенности СУБД также следует учитывать при проектировании.



Приведем некоторые способы доступа к данным на примере выборки select id, name from xtable where id=10:

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

• Атрибут id индексирован; тип индекса —btree . Тогда применяется индексное сканирование; полное сканирование может быть выбрано только в случае, если объем данных, удовлетворяющих данному условию, является большим и сравним с количеством записей в таблице.

• Атрибут id является ключом хеш-кластера. В этом случае применяется алгоритм хеширования при поиске блока данных для чтения. При хорошем алгоритме и правильном размере кластера поиск может быть осуществлен за одно чтение; при ошибках в выборе алгоритма и блока кластера это может составить до нескольких тысяч операций чтения блоков.

• Атрибут id является ключом индексного кластера. Здесь применяется индексное сканирование, почти аналогично случаю с индексом .


Дата добавления: 2015-04-18; просмотров: 8; Нарушение авторских прав


<== предыдущая лекция | следующая лекция ==>
Пример разработки простой ER-модели. | Физическое проектирование БД. Хранение объектов данных.
lektsii.com - Лекции.Ком - 2014-2018 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты