Pregunta

Con suerte, puedo obtener respuestas para cada servidor de base de datos.

Para obtener un resumen de cómo funciona la indexación, consulte: ¿Cómo funciona la indexación de bases de datos?

¿Fue útil?

Solución

El siguiente es el estándar SQL92, por lo que debería ser compatible con la mayoría de RDMBS que utilizan SQL:

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

Otros consejos

Sql Server 2005 le brinda la posibilidad de especificar un índice de cobertura.Este es un índice que incluye datos de otras columnas a nivel de hoja, por lo que no es necesario volver a la tabla para obtener columnas que no están incluidas en las claves del índice.

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

Esto es invaluable para una consulta que tiene my_col3 en la lista de selección, y my_col1 y my_col2 en la cláusula donde.

Para Python pytables, los índices no tienen nombres y están vinculados a columnas individuales:

tables.columns.column_name.createIndex()

En SQL Server, puede hacer lo siguiente:(Enlace MSDN a la lista completa de opciones.)

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

(ignorando algunas opciones más avanzadas...)

El nombre de cada índice debe ser único en toda la base de datos.

Todos los índices pueden tener varias columnas y cada columna se puede ordenar en el orden que desee.

Los índices agrupados son únicos: uno por tabla.no pueden tener INCLUDEd columnas.

Los índices no agrupados no son únicos y pueden tener hasta 999 por tabla.Pueden haber incluido columnas y cláusulas Where.

Para crear índices se pueden utilizar las siguientes cosas:

  1. Crea un índice en una tabla.Se permiten valores duplicados:CREATE INDEX index_name ON table_name (column_name)

  2. Crea un índice único en una tabla.No se permiten valores duplicados:CREATE UNIQUE INDEX index_name ON table_name (column_name)

  3. Índice agrupado: CREATE CLUSTERED INDEX CL_ID ON SALES(ID);

  4. Índice no agrupado:
    CREATE NONCLUSTERED INDEX NONCI_PC ON SALES(ProductCode);

Referirse: http://www.codeproject.com/Articles/190263/Indexes-in-MS-SQL-Server para detalles.

  1. CREATE INDEX name_index ON Employee (Employee_Name)

  2. En una columna múltiple: CREATE INDEX name_index ON Employee (Employee_Name, Employee_Age)

Dado que la mayoría de las respuestas se dan para bases de datos SQL, estoy escribiendo esto para bases de datos NOSQL, específicamente para MongoDB.

A continuación se muestra la sintaxis para crear un índice en MongoDB usando mongo shell.

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

ejemplo - db.collection.createIndex( { name: -1 } )

En el ejemplo anterior se crea un índice descendente de clave única en el campo Nombre.

Tenga en cuenta que los índices de MongoDB utilizan una estructura de datos de árbol B.

Hay varios tipos de índices que podemos crear en mongodb; para obtener más información, consulte el siguiente enlace: https://docs.mongodb.com/manual/indexes/

No siempre es necesario un índice para todas las bases de datos.Por ejemplo:El motor Kognitio, también conocido como WX2, no ofrece una sintaxis para la indexación, ya que el motor de la base de datos se encarga de ello implícitamente.Los datos se procesan a través de una partición por turnos y Kognitio WX2 introduce y extrae datos del disco de la forma más sencilla posible.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top