Как создать индекс

Как создать индекс

5.7. Создание индексов

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

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

  • обладатель таблицы;
  • пользователи, каковые имеют привилегию REFERENCES (см. табл. 7 ) работы с таблицей;
  • пользователи с классом полномочий DBA (см.п. 5.2 ).

Кое-какие индексы создаются машинально. Такие индексы формируются при определении первичных совокупностей и ключей полей с показателями уникальности.

Разглядим пример создания индексов. Одним из запросов администратора базы данных есть выдача перечня книг требуемого издательства, начиная с последних поступлений (см.приложение ). Для сокращения времени его исполнения нужно создать в таблице Books индекс по возрастанию значений поля Publisher и убыванию значений поля Start_date. Назовем данный индекс Publ_Start_date.

Формирование индекса направляться начать с установления в утилите SQL Central соединение с БД Dubl_Biblia. После этого нужно запустить мастер Add index. что положен в папки Tables — Books — Indexes. Данный мастер предлагает выполнить последовательность шагов.

Любой ход представляется в виде отдельного окна. Работу мастера Add index разглядим по ранее использовавшейся схеме (см. п. 5.1 ) с разъяснением исполнения последовательности шагов, с анализом каждого шага.

Ход 1. Начальная стадия создание индекса таблицы данных (рис. 58).

Рис. 58. Создание индекса таблицы данных

Пояснение. Вам очень рады в Мастер создания индексов. Данный Мастер разрешает вам создать новый индекс таблицы данных.

Индексы, формируемые пользователями СУБД SQL Anywhere, предназначены для сокращения времени поиска данных.

Вопрос. Какое имя вы желаете дать новому индексу.

Ниже направляться поле, в которое направляться ввести имя создаваемого индекса. В нашем случае — это Publ_Start_date. По окончании заполнения поля окна щелкните мышью по кнопке Потом для исполнения следующего шага.

Ход 2. Определение условия формирования индекса (рис. 59).

Рис. 59. Определение условия формирования индекса

Вопрос. Какие конкретно поля будут употребляться при формирования индекса.

В приведенном ниже перечне полей таблицы нужно выделить одно из полей щелкнуть мышью по одной из кнопок.

Кнопка Add ASC разрешает включить в условие формирования индекса применение значений выделенного поля по возрастанию. Сделанный выбор отображается в окне Curent index . При необходимости применения значений выделенного поля по убыванию направляться надавить на кнопку Add DESC . Кнопка Remove предназначена для исключения из индекса значений выделенного поля. В случае если требуется исключить из индекса все поля, воспользуйтесь кнопкой Remove All . Просмотреть свойства выделенного поля разрешает кнопка Details .

На рис. 59 представлен итог выделения поля Publisher с последующим применением кнопки Add ASC и выбора поля Start_date иажатия кнопки Add DESC . В следствии этого будет организован индекс по возрастанию названий издательств (поле Publisher ). В пределах одного издательства даты поступления книг в библиотеку будут упорядочены по

убыванию.

По окончании задания условия формирования индекса переходим к следующему шагу при помощи кнопки Потом .

Ход 3. Выбор области базы данных (см.п. 1 ) для хранения индекса (рис. 60).

Рис. 60. Выбор области базы данных для хранения индекса

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

Вопрос 1. В какой области базы разрешённых следует сохранить индекс.

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

Пояснение 2. Формирование неповторимого индекса гарантирует, что в таблице не будет храниться двух записей с однообразными значениями полей, применяемых при формировании индекса.

Вопрос 2. Вы желаете, дабы индекс был неповторимым.

Для ответа на данный вопрос рекомендован флажок The index will be unique . В нашем случае это флажок обязан быть в скинутом состоянии. Дело в том, что в одинаковый сутки в библиотеку смогут поступить пара книг одного издательства. По данной причине уникальность совокупности полей Publisher и Start_date не допустима.

Сейчас направляться надавить кнопку Потом для подтверждения готовности к созданию нового индекса.

Ход 4. Подтверждение готовности к созданию нового индекса (рис. 61).

Рис. 61. Подтверждение готовности к созданию нового индекса

Пояснение 1. Вы имеете возможность включить комментарий для нового индекса.

Ниже находится поле для ввода комментария для создаваемого индекса.

Пояснение 2. Новый индекс Publ_Start_date будет организован по возрастанию значений поля Publisher и убыванию значений поля Start_date. Щелкните по кнопке Готово для завершения формирования индекса.

Все действия, выполненные до сих пор в мастере Add index. были предназначены для определения параметров SQL-оператора CREATE INDEX. По окончании щелчка мышью по кнопке Aioiai начнется исполнение этого оператора. Его результатом будет появление индекса Publ_Start_date.

Этот факт выражается в появлении одноименного элемента в папке Indexes. (см. рис. 62).

Рис. 62. Обновленное содержание папки Indexes

ПРИМЕЧАНИЕ

Независимо от того, кто создал индекс, его обладателем постоянно объявляется обладатель таблицы, для которой он создан.

Для для того чтобы индекса Publ_Start_date в утилите ISQL требуется выполнить следующие SQL-операторы:

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

Чтобы в ISQL убедиться в появлении нового индекса требуется проанализировать системное представление SYS.SYSINDEXES.

Индексы удаляются из базы данных лишь при явном указания об этом. В SQL Central для исполнения этого действия достаточно выделить требуемый индекс и надавить клавишу Del. В ISQL для удаления индекса нужно выполнить оператор вида:

Для трансформации состава индекса его сперва нужно удалить, а позже создать заново с новыми особенностями.

СУБД SYBASE SQL Anywhere разрешает вырабатывать одиночные и составные индексы с указанием личного порядка применения значений выбранных полей (по возрастанию/убыванию). Это разрешает создавать сложные индексы, талантливые удовлетворить как правило требования пользователей.

Источник: citforum.ru

Создание Apple ID на iPhone

Важное на сайте:

Самые интересные результаты статей, подобранные именно по Вашим интересам: