Crie e solte INDEX em Cassandra
Cassandra Criar índice
O comando 'Criar índice' cria um índice na coluna especificada pelo usuário. Se os dados já existirem para a coluna que você deseja indexar, Cassandra cria índices nos dados durante a execução da instrução 'criar índice'.
- Depois de criar um índice, Cassandra indexa novos dados automaticamente quando os dados são inseridos.
- O índice não pode ser criado na chave primária porque uma chave primária já está indexada.
- Índices em coleções não são suportados em Cassandra.
- Sem indexação na coluna, Cassandra não é possível filtrar essa coluna, a menos que seja uma chave primária.
É por isso que, para filtrar colunas em Cassandra, os índices precisam ser criados.
Sintaxe
Create index IndexName on KeyspaceName.TableName(ColumnName);
Exemplo
Aqui está o instantâneo onde foi tentado filtrar a coluna “dept” sem criar o índice. Em resposta, o erro foi retornado.
Aqui está o instantâneo onde o índice é criado na coluna dept.
Create index DeptIndex on University.Student(dept);
Aqui está o instantâneo onde a coluna 'dept' será filtrada com sucesso.
select * from University.Student where dept='CS';
Cassandra Índice de queda
O comando 'Drop index' elimina o índice especificado. Se o nome do índice não tiver sido fornecido durante a criação do índice, o nome do índice será TableName_ColumnName_idx.
- Se o índice não existir, ele retornará um erro, a menos que IF EXISTS seja usado, o que retornará no-op.
- Durante a criação do índice, você deve especificar o nome do keyspace com o nome do índice, caso contrário, o índice será eliminado do keyspace atual.
Sintaxe
Drop index IF EXISTS KeyspaceName.IndexName
Exemplo
Aqui está o instantâneo do comando executado 'Drop index' que elimina o índice DeptIndex.
drop index IF EXISTS University.DeptIndex;
Após a execução bem-sucedida do comando, DeptIndex será eliminado do keyspace. Agora os dados não podem ser filtrados pelo departamento de coluna.