¿Cómo indexo una columna de base de datos?

votos
48

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?

Publicado el 04/08/2008 a las 12:21
fuente por usuario
En otros idiomas...                            


9 respuestas

votos
54

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

CREATE INDEX [index name] ON [table name] ( [column name] )
Respondida el 04/08/2008 a las 12:25
fuente por usuario

votos
6

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

crear un índice no agrupado my_idx en my_table (my_col1 asc, my_col2 asc) include (my_col3);

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

Respondida el 13/08/2008 a las 15:05
fuente por usuario

votos
4

En SQL Server, puede hacer lo siguiente: ( MSDN Enlace 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 amplia base de datos única.

Todos los índices pueden tener varias columnas, y cada columna pueden ser ordenados en el orden que desee.

Los índices agrupados son únicos - uno por cada mesa. No pueden tener INCLUDEcolumnas d.

Los índices no agrupados no son únicos, y pueden tener hasta 999 por mesa. Pueden han incluido columnas, y donde cláusulas.

Respondida el 15/06/2012 a las 19:01
fuente por usuario

votos
4

Para PyTables pitón, los índices no tienen nombres y que están vinculados a las columnas individuales:

tables.columns.column_name.createIndex()
Respondida el 23/01/2012 a las 16:13
fuente por usuario

votos
2

Sólo se debe indexar las columnas sobre las que se realiza una búsqueda frecuentes / consultas.

Suponga que tiene una tabla llamada Los estudiantes en donde almacena studentID, nombre, curso, grado, etc. Y que es necesario buscar frecuentemente la columna de la studentID para obtener información acerca de los estudiantes específicos.

SELECT Name, Course, Grade

FROM Students

WHERE StudentID = 111025

Debe crear un índice en esa columna, ya que acelerará el proceso de búsqueda. Se puede crear un índice en una columna existente con el siguiente código:

CREATE INDEX IndexStudentID

ON Students (StudentID)

El nombre IndexStudentID puede ser cualquier cosa, elegir algo que tenga sentido para usted.

Sin embargo, la creación de un índice añadirá algo de sobrecarga a su base de datos. Hay muchas herramientas que pueden ayudar, por ejemplo, estoy usando SQLDbm como yo me convenga mejor.

Respondida el 29/08/2017 a las 06:53
fuente por usuario

votos
2

Para crear índices siguientes cosas pueden ser utilizados:

  1. Crea un índice en una tabla. se permiten valores duplicados:

    CREAR index_name ÍNDICE DE LA nombre_tabla (COLUMN_NAME)

  2. Crea un índice único en una tabla. Los valores duplicados no están permitidos:

    CREAR index_name índice único en nombre_tabla (COLUMN_NAME)

  3. índice agrupado

    CREAR CL_ID índice agrupado en VENTAS (ID);

  4. índice no agrupado

    CREAR NONCLUSTERED ÍNDICE NONCI_PC de las ventas (ProductCode);

consulte http://www.codeproject.com/Articles/190263/Indexes-in-MS-SQL-Server para más detalles.

Respondida el 02/06/2015 a las 13:38
fuente por usuario

votos
1

1.

 CREATE INDEX name_index ON Employee (Employee_Name)
  1. En una columna de múltiples

    CREATE INDEX name_index ON Employee (Employee_Name, Employee_Age)
    
Respondida el 17/01/2017 a las 07:48
fuente por usuario

votos
0

Un índice no siempre es necesaria para todas las bases de datos. Por ejemplo: Kognitio también conocido como motor de WX2 no ofrece una sintaxis para la indexación como el motor de base de datos se encarga de ello implícitamente. Los datos continúa a través de la partición de round-robin y Kognitio WX2 obtiene datos dentro y fuera del disco de la manera más sencilla posible.

Respondida el 05/06/2018 a las 10:24
fuente por usuario

votos
0

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 la MongoDB usando consola 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 sola tecla en el campo de nombre.

Tenga en mente usa índices MongoDB estructura de datos de árbol-B.

Hay varios tipos de índices que podemos crear en mongodb, para más información se refieren debajo de acoplamiento - https://docs.mongodb.com/manual/indexes/

Respondida el 01/06/2018 a las 16:05
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more