кодесурса
«SQL

SQL CREATE INDEX

script1adsense2code
script1adsense3code

Индексы

Индексы - это специальные объекты, которые построены поверх таблиц. Индексы могут выполнять такие операции, как операторы SELECT, DELETE и UPDATE, быстрее для манипулирования большим объемом данных. Индекс также можно назвать таблицей, и он имеет структуру данных. Индекс создается на столбцах таблицы. Одна таблица может содержать одну или несколько таблиц INDEX.

Примечание. Команда CREATE INDEX не является частью стандарта ANSI SQL, поэтому ее синтаксис варьируется в зависимости от поставщика.

Что делает SQL INDEX?

Индекс SQL выполняет следующие действия:

  • INDEXES может найти информацию в базе данных очень быстро.

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

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

  • Производительность INDEX не может быть сильно признана при работе с относительно небольшими таблицами.

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

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

  • Индекс сначала сортирует данные, а затем назначает идентификацию для каждой строки.

  • Таблица INDEX имеет только два столбца, один из которых представляет собой rowid, а другой - indexed-column (упорядоченный).

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

Синтаксис:

 CREATE [UNIQUE] INDEX <имя индекса> ON <имя таблицы> (<столбец (столбцы)>); 

Параметры:

название Описание
УНИКАЛЬНАЯ Определяет индекс как уникальное ограничение для таблицы и запрещает любые повторяющиеся значения в индексированном столбце или столбцах таблицы.
index_name Имя индексной таблицы.
table_name Наименование базовой таблицы.
Колонка (ы) Наименование столбцов таблицы.

Содержание:

Как отличить индекс от просмотров

ПОСМОТРЕТЬ:

  • VIEW - это объект данных, который не содержит данных. Его содержимое является результатом базовой таблицы. Они работают так же, как базовая таблица, но не содержат собственных данных.
  • VIEW похож на таблицу, но может содержать данные из одной или нескольких таблиц, связанных друг с другом посредством общего набора критериев.
  • VIEW - это физический объект, но это логическая таблица. VIEW просто относится к данным, которые хранятся в базовых таблицах.
  • VIEW также является одним из объектов базы данных.
  • VIEW можно использовать в любом операторе SELECT, например в таблице.
  • VIEW обеспечивает безопасность как данных, так и таблиц базы данных. Предположим, что по ошибке таблица удалена, ее невозможно восстановить. но если представление отброшено, его можно создать снова.

ИНДЕКС:

  • Индекс также таблица. Так что у него есть структура данных.
  • INDEXES - это указатели, которые представляют физический адрес данных.
  • Индекс создается на столбцах таблицы.
  • Индекс создает каталог на основе одного или нескольких столбцов таблицы.
  • Одна таблица может содержать одну или несколько таблиц INDEX.
  • Индекс может быть создан для одного столбца или комбинации столбцов таблицы базы данных.

Пример: SQL CREATE INDEX

Образец таблицы: клиент


Чтобы создать индекс для столбца «custcity» таблицы «customer», можно использовать следующий оператор SQL:

CREATE  INDEX custcity 
ON customer(cust_city);

Выход:

«Sql

SQL CREATE INDEX, используя больше столбцов

Чтобы создать индекс для комбинации столбцов custcity и cust_country таблицы customer, можно использовать следующий оператор SQL:

CREATE  INDEX custcity_country
ON customer(cust_city,cust_country);

Выход :

«Sql

SQL CREATE UNIQUE INDEX

УНИКАЛЬНЫЙ ИНДЕКС в таблице встречается только один раз. Этот ИНДЕКС гарантирует, что значение столбца или значение комбинации одного или нескольких столбцов не может появляться более одного раза в таблице.

Пример :

Образец таблицы: клиент


Чтобы создать уникальный индекс для столбца «cust_code» в таблице «customer», можно использовать следующий оператор SQL:

CREATE  UNIQUE INDEX custcode 
ON customer(cust_code);

Выход:

«Sql

Создать индекс в MySQL, PostgreSQL, Oracle, SQL Server

Создать индекс в MySQL [5.7]

Без индекса MySQL должен начинаться с первой строки, а затем читать всю таблицу, чтобы найти соответствующие строки. Чем больше стол, тем больше это стоит. Если таблица имеет индекс для рассматриваемых столбцов, MySQL может быстро определить позицию, которую нужно искать в середине файла данных, не просматривая все данные. Это намного быстрее, чем последовательное чтение каждой строки.

Синтаксис:

 CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name
    [Index_type]
    ON tbl_name (index_col_name, ...)
    [Index_option] 
    [алгоритм_опции | lock_option] ...
index_col_name:
    col_name [(длина)] [ASC | DESC]
index_type:
    USING {BTREE | HASH}
index_option:
    KEY_BLOCK_SIZE [=] значение
  | index_type
  | С PARSER имя_парсера
  | КОММЕНТАРИЙ 'Строка'
algorithm_option:
    Алгоритм [=] {DEFAULT | INPLACE | COPY}
lock_option:
    LOCK [=] {DEFAULT | NONE | SHARED | EXCLUSIVE}: 

Создать индекс в PostgreSQL 9.3.13

В PostgreSQL команда CREATE INDEX создает индекс для указанного столбца (-ов) указанного отношения, который может быть таблицей или материализованным представлением. Индексы в основном используются для повышения производительности базы данных (хотя неправильное использование может привести к снижению производительности).

Синтаксис:

 СОЗДАТЬ [УНИКАЛЬНЫЙ] ИНДЕКС [ПОСТОЯННО] [имя] НА имя_таблицы [метод ИСПОЛЬЗОВАНИЯ]
    ({column_name | (expression)} [COLLATE collation] [opclass] [ASC | DESC] [NULLS {FIRST | LAST}] [, ...])
    [WITH (storage_parameter = value [, ...])]
    [TABLESPACE tablespace_name]
    [ГДЕ предикат] 

Создать индекс в Oracle 11g

В Oracle CREATE INDEX оператор используется для создания индекса по:

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

Синтаксис:

 СОЗДАТЬ [УНИКАЛЬНЫЙ | BITMAP] INDEX [схема. ] индекс
  ON {cluster_index_clause
     | table_index_clause
     | bitmap_join_index_clause
     }
[НЕПРАВИЛЬНО] 

Создать индекс в SQL Server 2014

В SQL Server команда CREATE INDEX создает реляционный индекс для таблицы или представления. Также называется индексом хранилища строк, потому что это кластерный или некластеризованный индекс btree. Вы можете создать индекс хранилища строк до того, как в таблице появятся данные. Используйте индекс хранилища строк для повышения производительности запросов, особенно когда запросы выбираются из определенных столбцов или требуют, чтобы значения сортировались в определенном порядке.

Синтаксис:

 - Синтаксис SQL Server
СОЗДАТЬ [УНИКАЛЬНЫЙ] [КЛАСТЕР | NONCLUSTERED] INDEX index_name 
  ON <объект> (столбец [ASC | DESC] [, ... n]) 
  [ВКЛЮЧИТЬ (имя столбца [, ... n])]
  [WHERE <фильтр_предиката>]
  [WITH (<lational_index_option> [, ... n])]
  [ON {имя_раздела_символа (имя столбца) 
  | filegroup_name 
  | дефолт 
  }
  ]
  [FILESTREAM_ON {filestream_filegroup_name | имя_раздела_схемы | "НОЛЬ" } ]
[; ]
<объект> :: =
  {
  [имя_базы_данных. [имя_схемы]. | schema_name. ] 
  table_or_view_name
  }
<lational_index_option> :: =
  {
  PAD_INDEX = {ON | OFF}
  | FILLFACTOR = fillfactor
  | SORT_IN_TEMPDB = {ON | OFF}
  | IGNORE_DUP_KEY = {ON | OFF}
  | STATISTICS_NORECOMPUTE = {ON | OFF}
  | STATISTICS_INCREMENTAL = {ON | OFF}
  | DROP_EXISTING = {ON | OFF}
  | ONLINE = {ON | OFF}
  | ALLOW_ROW_LOCKS = {ON | OFF}
  | ALLOW_PAGE_LOCKS = {ON | OFF}
  | MAXDOP = max_degree_of_parallelism
  | DATA_COMPRESSION = {НЕТ | Ряд | PAGE} 
  [ON PARTITIONS ({<partition_number_expression> | <range>} 
  [, ... n])]
  }
<filter_predicate> :: = 
  <конъюнкт> [И <конъюнкт>]
<конъюнкт> :: =
  <дизъюнкт> | <Сравнение>
<disjunct> :: =
  имя столбца IN (константа, ... n)
<сравнение> :: =
  имя столбца <сравнение_оп> константа
<сравнение_оп> :: =
  {IS | НЕ | = | <> | ! = | > | > = | !> | <| <= | ! <}
<диапазон> :: = 
  <partition_number_expression> TO <partition_number_expression>
Индекс обратной совместимости
  Внимание! Синтаксическая структура реляционного индекса с обратной совместимостью будет удалена в следующей версии SQL Server. Избегайте использования этой синтаксической структуры в новых разработках и планируйте модифицировать приложения, которые в настоящее время используют эту функцию. Вместо этого используйте синтаксическую структуру, указанную в <lational_index_option>.
СОЗДАТЬ [УНИКАЛЬНЫЙ] [КЛАСТЕР | NONCLUSTERED] INDEX index_name 
  ON <объект> (имя столбца [ASC | DESC] [, ... n]) 
  [WITH <backward_compatible_index_option> [, ... n]]
  [ON {filegroup_name | "дефолт" } ]
<объект> :: =
  {
  [имя_базы_данных. [ имя владельца ] . | имя владельца. ] 
  table_or_view_name
  }
<backward_compatible_index_option> :: =
  { 
  PAD_INDEX
  | FILLFACTOR = fillfactor
  | SORT_IN_TEMPDB
  | IGNORE_DUP_KEY
  | STATISTICS_NORECOMPUTE 
  | DROP_EXISTING 
  }

Упражнения по SQL

Хотите улучшить вышеуказанную статью? Вносите свои заметки / комментарии / примеры через Disqus.

Предыдущий: Обновить вид
Далее: Изменить индекс

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code