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.

Cassandra Criar índice

Aqui está o instantâneo onde o índice é criado na coluna dept.

Cassandra Criar índice

Create index DeptIndex on University.Student(dept);

Aqui está o instantâneo onde a coluna 'dept' será filtrada com sucesso.

Cassandra Criar índice

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.

Cassandra Índice de queda

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.