Crear y colocar ÍNDICE en Cassandra
Cassandra Crear índice
El comando 'Crear índice' crea un índice en la columna especificada por el usuario. Si los datos ya existen para la columna que desea indexar, Cassandra crea índices en los datos durante la ejecución de la instrucción 'crear índice'.
- Después de crear un índice, Cassandra indexa nuevos datos automáticamente cuando se insertan datos.
- El índice no se puede crear en la clave principal porque una clave principal ya está indexada.
- Los índices de colecciones no son compatibles con Cassandra.
- Sin indexar en la columna, Cassandra No puedo filtrar esa columna a menos que sea una clave principal.
Por eso, para filtrar columnas en Cassandra, es necesario crear índices.
Sintaxis
Create index IndexName on KeyspaceName.TableName(ColumnName);
Ejemplo
Aquí está la instantánea donde se intentó filtrar la columna "departamento" sin crear el índice. En respuesta, se devolvió el error.
Aquí está la instantánea donde se crea el índice en la columna del departamento.
Create index DeptIndex on University.Student(dept);
Aquí está la instantánea donde se filtrará con éxito la columna "departamento".
select * from University.Student where dept='CS';
Cassandra Índice de caída
El comando "Eliminar índice" elimina el índice especificado. Si no se proporcionó el nombre del índice durante la creación del índice, entonces el nombre del índice es NombreTabla_NombreColumna_idx.
- Si el índice no existe, devolverá un error a menos que se utilice IF EXISTS, que devolverá no operativo.
- Durante la creación del índice, debe especificar el nombre del espacio de claves con el nombre del índice; de lo contrario, el índice se eliminará del espacio de claves actual.
Sintaxis
Drop index IF EXISTS KeyspaceName.IndexName
Ejemplo
Aquí está la instantánea del comando ejecutado "Eliminar índice" que elimina el índice DeptIndex.
drop index IF EXISTS University.DeptIndex;
Después de la ejecución exitosa del comando, DeptIndex se eliminará del espacio de claves. Ahora los datos no se pueden filtrar por el departamento de columna.