sql >> Base de Datos >  >> RDS >> Mysql

Neo4j - Crea un índice usando Cypher

Un índice es una estructura de datos que mejora la velocidad de las operaciones de recuperación de datos en una base de datos.

En Neo4j, puede crear un índice sobre una propiedad en cualquier nodo al que se le haya asignado una etiqueta. Una vez que cree un índice, Neo4j lo administrará y lo mantendrá actualizado cada vez que se cambie la base de datos.

Para crear un índice, utilice CREATE INDEX ON declaración. Así:

CREATE INDEX ON :Album(Name)

En el ejemplo anterior, creamos un índice en Name propiedad de todos los nodos con el Album etiqueta.

Cuando la declaración tiene éxito, se muestra el siguiente mensaje:

Cuando crea un índice, Neo4j creará el índice en segundo plano. Si su base de datos es grande, esto puede llevar algún tiempo.

Solo cuando Neo4j haya terminado de crear el índice, se pondrá en línea y se podrá usar en consultas.

Ver el índice

Los índices (y las restricciones) pasan a formar parte del esquema de la base de datos (opcional).

En el navegador Neo4j, puede revisar todos los índices y restricciones usando :schema comando.

Simplemente escribe esto:

:schema

Verá una lista de todos los índices y restricciones:

Sugerencias de índice

Una vez que se ha creado un índice, se utilizará automáticamente cuando realice consultas relevantes.

Sin embargo, Neo4j también le permite aplicar uno o más índices con una pista. Puede crear una sugerencia de índice incluyendo USING INDEX ... en su consulta.

Entonces podríamos hacer cumplir el índice anterior de la siguiente manera:

MATCH (a:Album {Name: "Somewhere in Time"}) 
USING INDEX a:Album(Name) 
RETURN a

También puede proporcionar varias sugerencias. Simplemente agregue un nuevo USING INDEX para cada índice que desee aplicar.

¿Indizar o no indexar?

Cuando Neo4j crea un índice, crea una copia redundante de los datos en la base de datos. Por lo tanto, el uso de un índice resultará en la utilización de más espacio en disco, además de escrituras más lentas en el disco.

Por lo tanto, debe sopesar estos factores al decidir qué datos/propiedades indexar.

Generalmente, es una buena idea crear un índice cuando sabe que va a haber una gran cantidad de datos en ciertos nodos. Además, si encuentra que las consultas tardan demasiado en devolverse, agregar un índice puede ayudar.