Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Топ:
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Интересное:
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Дисциплины:
2017-12-09 | 213 |
5.00
из
|
Заказать работу |
|
|
С точки зрения реляционной модели порядок атрибутов в отношении может быть произвольным.
Однако последовательность столбцов в таблице на физическом уровне может влиять на производительность. Для того чтобы понять, как расположение столбцов влияет на работу с базой данных, необходимо знать о процессах, которые происходят на физическом уровне при решении задач.
Например, если СУБД фиксирует изменения в строках таблицы с первого изменённого байта и до конца строки, то размещение столбцов в таблице может быть следующим: сначала редко обновляемые с фиксированной длиной, далее редко обновляемые с переменной длиной и, наконец, часто обновляемые. При таком размещении уменьшается объём регистрируемой информации и ускоряются все модификации.
В общем случае, часто изменяемые столбцы лучше размещать рядом.
Создание ссылочных ограничений
С точки зрения реляционной теории связи между отношениями устанавливаются косвенно: по совпадению значений первичного и внешнего ключа.
На физическом уровне для удобства администрирования и поддержки ссылочной целостности связи между таблицами обычно изображаются явно на уровне схемы базы данных. Создание связи предполагает необходимость предварительного создания первичного и внешнего ключа и определения типа связи: 1:1 или 1:m.
Для поддержки ссылочной целостности необходимо определить правила выполнения операций вставки, обновления и удаления, затрагивающие первичный и внешний ключ. Возможные варианты правил будут рассмотрены при изучении языка SQL.
В результате поддержки ссылочной целостности внешний ключ всегда будет содержать только допустимые значения или нулевое значение. При этом гарантируется, что целостность базы будет поддерживаться и в случаях работы прикладных программ и при выполнении незапланированных операторов SQL.
|
Факторы, влияющие на производительность БД
Индексы
Индексы используются для ускорения доступа к данным. Принцип их действия основан на замене части операций поиска данных на диске, то есть во внешней памяти, на поиск в оперативной памяти, что значительно быстрее.
При отсутствии индексов поиск в таблицах осуществляется путём последовательного просмотра строк. При создании индекса формируется альтернативный, более быстрый путь доступа к данным. Индекс создаётся по одному полю или нескольким полям таблицы, которые в дальнейшем называются индексным выражением. Правила записи индексного выражения определяет СУБД.
В простейшем случае индекс можно представить следующей таблицей:
Таблица - Структура простейшего индекса
Значение индексного выражения | № записи |
Алексеев | |
Петрова | |
… | … |
СУБД, как правило, поддерживает несколько типов индексов.
Уникальные индексы обычно создаются для первичных и альтернативных ключей. Каждому значению индексного выражения в уникальном индексе соответствует один указатель на строку таблицы, что позволяет обеспечить целостность по сущностям на уровне индексов.
Неуникальные индексы обычно создаются для внешних ключей и тех полей таблицы, по которым часто ведётся поиск. Каждому значению индексного выражения в этом случае соответствует несколько ссылок на строки таблицы.
Некоторые СУБД создают, так называемые, кластерные индексы. Кластерный индекс задаёт физическую сортировку таблицы. У таблицы может быть только один кластерный индекс. По индексному выражению кластерного индекса таблица сортируется на диске.
На физическом уровне индекс чаще всего представляет собой индексное дерево или битовый массив.
В реляционных СУБД система сама определяет, надо использовать индекс при выполнении запроса или нет. В том случае, если СУБД не находит индекс, то скорее всего произойдёт последовательный просмотр записей. В случае поиска единичных записей (например, вывести сведения о конкретном человеке) – это очень дорогостоящая операция. Поэтому на этапе создания физической модели базы данных необходимо проанализировать запросы и определить, сколько и каких индексов необходимо создать.
|
Проблема определения состава и количества индексов заключается в том, что, если создано много индексов, то значительно замедляется выполнение операций редактирования данных, затрагивающих индексное выражение. Оптимизация структуры индексов – это одна из важных задач администрирования базы данных.
Рассмотрим некоторые рекомендации по определению состава индексов.
Индексы создаются для первичных ключей.
Индексы создаются для альтернативных ключей, так как они обычно используются в запросах.
Индексы создаются для внешних ключей, так как это повышает производительность при работе со связанными таблицами и обработке правил ссылочной целостности.
Если таблица большая и запрос затрагивает менее 25% строк, то желательно создать индекс по условию поиска.
Если таблица большая, но запрос затрагивает больше 25% строк, то требуется более серьёзный анализ с учётом особенностей конкретной СУБД. Можно попытаться выяснить, будет ли СУБД использовать при выполнении запроса индекс, системными средствами, например, с помощью команды Show plan или аналогичной ей.
Если какие-то столбцы таблицы часто используются в запросах, то для них можно создать индексы.
Если, например, в одних запросах для поиска используется столбец ШифрТовара, в других ШифрТовара и ЦветТовара, то составной индекс ШифрТовара, ЦветТовара удовлетворит оба типа запросов.
Если все столбцы, участвующие в запросе, проиндексированы, то выполнение такого запроса может не потребовать реального ввода/вывода, то есть доступ к данным будет чисто индексным (в оперативной памяти), что может оказаться удобным.
Использование индексов позволяет избежать такой дорогостоящей операции, как физическая сортировка строк таблицы.
Если данные в столбце часто изменяются, то наличие индекса замедляет выполнение этих операций, так как обновить надо не только таблицу, но и индекс.
|
Для хранения индексов требуется дополнительное место на диске и дополнительные файлы, что может создать проблемы, так как ОС способна поддерживать определённое количество файлов.
Использование индексов требует от администратора правильного использования буферов и дисков (например, индексы и таблицы – в разных буферах при считывании и физическое хранение на разных дисках).
Администратор должен хорошо представлять возможности операторов SQL для правильного подбора индексов, чтобы сделать работу приложений наиболее эффективной.
Денормализация
Нормализация предполагает хранение каждого факта в одном месте.
Когда факт хранится только в одном месте, извлечение множества различных, но связанных между собой фактов обычно требует перехода от одной таблицы к другой. Это может снизить скорость процесса извлечения данных, хотя обновление данных происходит быстро.
Денормализация – это процесс сознательного внесения избыточности в базу за счёт объединения таблиц, приводящего к дублированию фактов.
Если приложение требует высокой скорости выполнения запросов, то можно для повышения производительности попытаться использовать денормализацию.
Денормализации лучше избегать, если
- система может достичь приемлемой производительности без денормализации;
- денормализация не улучшает производительность;
- система становится менее надёжной в работе.
При выполнении денормализации рекомендуется учитывать следующие моменты:
если на диске достаточно места, то можно создать два набора таблиц: один нормализованный, а другой денормализованный. Приложения получают доступ к денормализованным таблицам только для чтения. Это позволит сохранить целостность данных. Но, при этом надо продумать, как реализовать функцию синхронизации данных в обеих базах;
если места на диске нет, то создаётся только денормализованная база, при этом её обновление всегда выполняется программно или с помощью хранимых процедур;
если приложение создаётся для работы с денормализованными таблицами, то желательно учесть в нём будущую возможность работы с нормализованной базой.
Все решения по денормализации должны быть хорошо задокументированы.
|
|
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!