Главная страница
Навигация по странице:

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

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

  • Кластерный индекс может включать несколько столбцов . Однако количество таких столбцов рекомендуется по возможности свести к минимуму.

  • Уникальный индекс

  • Л.13 Индексы. Create unique index имя индекса


    Скачать 53.28 Kb.
    НазваниеCreate unique index имя индекса
    Дата30.03.2022
    Размер53.28 Kb.
    Формат файлаpptx
    Имя файлаЛ.13 Индексы.pptx
    ТипДокументы
    #427821

    Индексы


    Использование концепции файлов и файловых групп для физического размещения хранимых данных упрощает управление базами данных и дисковой памятью, а также обеспечивает гибкость при размещении конкретных объектов на устройстве или устройствах.
    Причем в этом случае обеспечивается реальное распределение данных между всеми входящими в группу файлами: дисковые устройства действительно одновременно, а не поочередно будут заполняться поступающими данными, поскольку данные будут пропорционально «чередоваться» по файлам группы.

    Понятие


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


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


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


    Индексы обычно создаются с целью удовлетворения определенных критериев поиска после того, как таблица уже находилась некоторое время в работе и увеличилась в размерах.
    Создание индексов не предусмотрено стандартом SQL, однако большинство диалектов поддерживают как минимум следующий оператор:
    CREATE [ UNIQUE ] INDEX имя_индекса
    ON имя_таблицы(имя_столбца[ASC|DESC][,...n])


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


    Созданный индекс можно удалить с помощью оператора:
    DROP INDEX имя_индекса

    Создание индекса


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

    В среде SQL Server реализовано несколько типов индексов:


    • кластерные индексы ;
    • некластерные индексы ;
    • уникальные индексы.

    Некластерный индекс


    Некластерные индексы – наиболее типичные представители семейства индексов. В отличие от кластерных, они не перестраивают физическую структуру таблицы, а лишь организуют ссылки на соответствующие строки .
    Для идентификации нужной строки в таблице некластерный индекс организует специальные указатели, включающие в себя:
    • информацию об идентификационном номере файла, в котором хранится строка ;
    • идентификационный номер страницы соответствующих данных;
    • номер искомой строки на соответствующей странице;
    • содержимое столбца.
    В большинстве случаев следует ограничиваться 4-5 индексами.


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


    При создании в таблице первичного ключа ( PRIMARY KEY ) сервер автоматически создает для него кластерный индекс, если его не существовало ранее или если при определении ключа не был явно указан другой тип индекса.

    Уникальный индекс


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


    Средства языка SQL предлагают несколько способов определения индекса:
    автоматическое создание индекса при создании первичного ключа;
    автоматическое создание индекса при определении ограничения целостности UNIQUE ;
    создание индекса с помощью команды CREATE INDEX



    написать администратору сайта