русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Использование индексов


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


Другой способ представить данные не так, как они хранятся, - это использовать индексы. Индексы используются для следующих целей:

· поддержания фразы UNIQUE,

· поддержания логической упорядоченности данных согласно значений одного или нескольких полей,

· оптимизации выполнения запросов.

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

Определение индекса. Базовый синтаксис предложения по созданию индекса следующий:

CREATE INDEX index_name

ON table_name (column_name1 [, column_name3]…])

Однако в конкретных СУБД он существенно дополняется другими конструкциями.

Правила использования индексов. При использовании индексов следует руководствоваться следующими прави­ла­ми:

· Для таблиц небольших размеров индексы практически не приводят к повышению производительности.

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

· Индексы существенно оптимизируют выполнение запросов, которые выдают небольшое количество строк (хоро­шее правило – 25% строк).

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

· Помните, что индексы занимают определенное место в базе данных. Если СУБД позволяет управлять памятью, отводимой для базы данных, отведите часть памяти под индексы.



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

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

· Если это возможно, то не храните индексы и таблицы на одном и том же физическом устройстве. Разделе­ние этих объектов снижает нагрузку на носители и приводит к более быстрому выполнению запросов.

Составной индекс. SQL позволяет индексировать по нескольким полям в одном индексе. Например,

CREATE INDEX DEPT_HEAD_NAME ON DEPARTMENT (Head, Name)

создает индекс в таблице DEPARTMENT по полям Head и Name. В составных индексах старайтесь сначала указывать наиболее часто используемые поля. Используйте составные индексы, если указанные в них поля часто используются одновременно для указания условия выборки данных.

Использование фразы UNIQUE. Некоторые СУБД позволяют использовать в определении индекса фразу UNIQUE для указания, что значения индекса должны быть уникальными. Например,

CREATE UNIQUE INDEX GROUP_ID ON GROUP (#G)

свидетельствует, что в таблице GROUP значения поле #G должны быть неповторяющимся (уникальными).

Порядок сортировки полей в индексе. В некоторых СУБД допускается указывать порядок сортировки индекси­руе­мых полей. Например,

CREATE INDEX FACULTY_NAME_DEAN ON FACULTY (Name DESC, Dean)

указывает на необходимость индексирования таблицы FACULTY по столбцу Name в убывающем порядке, а столб­цу Dean - в возрастающем. По умолчанию всегда порядок сортировки в индексе предполагается возрастающим.

Удаление индекса. Удаление индекса производится по команде DROP INDEX с синтаксисом:

DROP INDEX index_name



<== предыдущая лекция | следующая лекция ==>
Использование виртуальных таблиц. | Транзакции


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.275 сек.