SQL CREATE INDEX
Индексы
Индексы - это специальные объекты, которые построены поверх таблиц. Индексы могут выполнять такие операции, как операторы 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 CREATE INDEX, используя больше столбцов
Чтобы создать индекс для комбинации столбцов custcity и cust_country таблицы customer, можно использовать следующий оператор SQL:
CREATE INDEX custcity_country
ON customer(cust_city,cust_country);
Выход :
SQL CREATE UNIQUE INDEX
УНИКАЛЬНЫЙ ИНДЕКС в таблице встречается только один раз. Этот ИНДЕКС гарантирует, что значение столбца или значение комбинации одного или нескольких столбцов не может появляться более одного раза в таблице.
Пример :
Образец таблицы: клиент
Чтобы создать уникальный индекс для столбца «cust_code» в таблице «customer», можно использовать следующий оператор SQL:
CREATE UNIQUE INDEX custcode
ON customer(cust_code);
Выход:
Создать индекс в 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
- Упражнения по SQL, практика, решение
- SQL Получить данные из таблиц [33 Упражнения]
- Булевы и реляционные операторы SQL [12 упражнений]
- Подстановочные знаки SQL и специальные операторы [22 упражнения]
- Агрегатные функции SQL [25 упражнений]
- Вывод запроса форматирования SQL [10 упражнений]
- SQL-запросы к нескольким таблицам [7 упражнений]
- ФИЛЬТРАЦИЯ И СОРТИРОВКА в базе данных персонала [38 упражнений]
- SQL СОЕДИНЯЕТ
- SQL ПОДПИСИ
- SQL Union [9 упражнений]
- SQL View [16 упражнений]
- Управление учетными записями пользователей SQL [16 упражнение]
- База данных фильмов
- ОСНОВНЫЕ запросы к базе данных фильмов [10 упражнений]
- ПОДПИСКИ на фильм База данных [16 упражнений]
- ПРИСОЕДИНЯЕТСЯ к базе данных фильма [24 упражнения]
- Футбольная база
- Вступление
- ОСНОВНЫЕ запросы по футболу базы данных [29 упражнений]
- ПОДПИСКИ по футбольной базе данных [33 упражнения]
- База данных больницы
- База данных сотрудников
- ОСНОВНЫЕ запросы к базе данных сотрудников [115 упражнений]
- БРОНИРОВАНИЕ на сотрудника База данных [77 Упражнения]
- Еще не все!
Хотите улучшить вышеуказанную статью? Вносите свои заметки / комментарии / примеры через Disqus.
Предыдущий: Обновить вид
Далее: Изменить индекс
Новый контент: Composer: менеджер зависимостей для PHP , R программирования