Вопрос

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

Краткое описание того, как работает индексирование, см.: Как работает индексация базы данных?

Это было полезно?

Решение

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

CREATE INDEX [index name] ON [table name] ( [column name] )

Другие советы

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 в пункте где.

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

tables.columns.column_name.createIndex()

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

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

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

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

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

Кластерные индексы уникальны — по одному на таблицу.Они не могут иметь INCLUDEд столбцы.

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

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

  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 для получения подробной информации.

  1. CREATE INDEX name_index ON Employee (Employee_Name)

  2. В нескольких столбцах: CREATE INDEX name_index ON Employee (Employee_Name, Employee_Age)

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

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

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

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

В приведенном выше примере нисходящий индекс, который создается в поле «Имя».

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top