Как мне индексировать столбец базы данных

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

Чтобы узнать, как работает индексация, посмотрите: Как работает индексация базы данных?

4.08.2008 11:21:26
Это похоже на вопрос, на который хорошо ответят документы для сервера базы данных, который вы, возможно, используете. Для Oracle: [ download.oracle.com/docs/cd/B28359_01/server.111/b28310/…
WW. 3.10.2008 12:45:26
Я не получил правильную страницу, когда нажал на ссылку выше для Oracle. Размещение правильной ссылки: docs.oracle.com/cd/B28359_01/server.111/b28310/indexes003.htm
Saurabh Patil 8.07.2013 03:19:44
Одна из заявленных целей SO - сначала показываться в поиске Google. Часто SO-ответ лучше, чем сами документы. Разве не было бы полезно установить здесь ответ в виде вики сообщества для сопоставления всех ответов?
Ethan Reesor 5.06.2014 20:35:29
9 ОТВЕТОВ
РЕШЕНИЕ

Ниже приведен стандарт SQL92, поэтому он должен поддерживаться большинством RDMBS, использующих SQL:

CREATE INDEX [index name] ON [table name] ( [column name] )
70
4.08.2008 12:34:51
В большинстве систем это также можно использовать для нескольких столбцов, просто добавив разделенный запятыми список имен столбцов вместо одного столбца.
David Manheim 15.06.2012 17:53:27

Sql Server 2005дает вам возможность указать индекс покрытия. Это индекс, который включает данные из других столбцов на уровне листа, поэтому вам не нужно возвращаться к таблице, чтобы получить столбцы, которые не включены в ключи индекса.

create nonclustered index my_idx on my_table (my_col1 asc, my_col2 asc) include (my_col3);

Это неоценимо для запроса , который имеет my_col3в списке выбора, а также my_col1и my_col2в ИНЕКЕ.

7
14.11.2018 21:42:00

Для python-таблиц индексы не имеют имен и привязаны к одним столбцам:

tables.columns.column_name.createIndex()
4
23.01.2012 15:13:48

В SQL Server вы можете делать следующее: ( MSDN Ссылка на полный список параметров.)

CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name 
    ON <object> ( column [ ASC | DESC ] [ ,...n ] ) 
    [ INCLUDE ( column_name [ ,...n ] ) ]
    [ WHERE <filter_predicate> ]

(игнорируя некоторые более сложные параметры ...)

Имя каждого индекса должно быть уникальным для всей базы данных.

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

Кластерные индексы уникальны - по одному на таблицу. У них не может быть INCLUDEd столбцов.

Некластеризованные индексы не являются уникальными и могут иметь до 999 на таблицу. Они могут включать в себя столбцы и предложения where.

4
15.06.2012 18:01:12

Для создания индексов можно использовать следующие вещи:

  1. Создает индекс для таблицы. Допускаются повторяющиеся значения: CREATE INDEX index_name ON table_name (column_name)

  2. Создает уникальный индекс для таблицы. Дублирующиеся значения не допускаются: CREATE UNIQUE INDEX index_name ON table_name (column_name)

  3. Кластерный индекс: CREATE CLUSTERED INDEX CL_ID ON SALES(ID);

  4. Некластеризованный индекс:
    CREATE NONCLUSTERED INDEX NONCI_PC ON SALES(ProductCode);

Обратитесь: http://www.codeproject.com/Articles/190263/Indexes-in-MS-SQL-Server для деталей.

2
14.11.2018 21:41:07
  1. CREATE INDEX name_index ON Employee (Employee_Name)

  2. На мультиколонке: CREATE INDEX name_index ON Employee (Employee_Name, Employee_Age)

1
14.11.2018 21:39:12

Поскольку большинство ответов дано для баз данных SQL, я пишу это для баз данных NOSQL, особенно для MongoDB.

Ниже приведен синтаксис для создания индекса в MongoDB с использованием оболочки Монго.

db.collection.createIndex( <key and index type specification>, <options> )

пример - db.collection.createIndex( { name: -1 } )

В приведенном выше примере в поле имени создается нисходящий индекс с одним ключом.

Имейте в виду, что индексы MongoDB используют структуру данных B-дерева.

Существует несколько типов индексов, которые мы можем создать в mongodb, для получения дополнительной информации обратитесь к ссылке ниже - https://docs.mongodb.com/manual/indexes/

0
1.06.2018 19:05:49

Индекс не всегда нужен для всех баз данных. Например: механизм Kognitio aka WX2 не предлагает синтаксиса для индексации, поскольку механизм базы данных позаботится об этом неявно. Данные передаются через циклическое разбиение, и Kognitio WX2 получает данные на диск и с диска самым простым способом.

0
5.06.2018 10:24:47

Мы можем использовать следующий синтаксис для создания индекса.

CREATE INDEX <index_name> ON <table_name>(<column_name>)

Если мы не хотим, чтобы повторяющиеся значения были разрешены, мы можем добавить UNIQUE при создании индекса следующим образом

CREATE UNIQUE INDEX <index_name> ON <table_name>(<column_name>)

Мы можем создать индекс для нескольких столбцов, задав несколько имен столбцов, разделенных символом ' , '

0
7.08.2019 19:09:29