sql - unico - uso de indices en oracle




¿Cómo indizo una columna de base de datos? (6)

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 la base de datos?


  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)


Como 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 el shell mongo.

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 de nombre.

Tenga en cuenta que los índices MongoDB utilizan la estructura de datos del á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/


En SQL Server, puede hacer lo siguiente: ( Enlace de 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 múltiples columnas, y cada columna se puede ordenar en el orden que desee.

Los índices agrupados son únicos, uno por tabla. No pueden tener columnas INCLUDE d.

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


No siempre se necesita 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 continúan a través del particionamiento round-robin y Kognitio WX2 obtiene datos dentro y fuera del disco de la manera más simple posible.


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

tables.columns.column_name.createIndex()

Podemos usar la siguiente sintaxis para crear el índice.

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

Si no queremos que se permita el valor duplicado, entonces podemos agregar UNIQUE mientras creamos el índice de la siguiente manera

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

Podemos crear índices en columnas múltiples dando nombres de columnas múltiples separados por ' , '





indexing