Створіть і вставте INDEX Cassandra
Cassandra Створити індекс
Команда «Створити індекс» створює індекс на вказаний користувачем стовпець. Якщо дані для стовпця, який потрібно проіндексувати, уже існують, Cassandra створює індекси даних під час виконання оператора «create index».
- Після створення індексу Cassandra автоматично індексує нові дані, коли дані вставляються.
- Індекс не можна створити на первинному ключі, оскільки первинний ключ уже проіндексовано.
- Індекси колекцій не підтримуються в Cassandra.
- Без індексації на колонці, Cassandra не можна фільтрувати цей стовпець, якщо це не первинний ключ.
Ось чому для фільтрації стовпців у Cassandra, необхідно створити індекси.
синтаксис
Create index IndexName on KeyspaceName.TableName(ColumnName);
Приклад
Ось знімок, на якому намагалися відфільтрувати стовпець «dept» без створення індексу. У відповідь була повернена помилка.
Ось знімок, на якому створено індекс у стовпці dept.
Create index DeptIndex on University.Student(dept);
Ось знімок, на якому буде успішно відфільтровано стовпець «dept».
select * from University.Student where dept='CS';
Cassandra Індекс падіння
Команда «Скинути індекс» видаляє вказаний індекс. Якщо ім’я індексу не вказано під час створення індексу, тоді ім’я індексу буде TableName_ColumnName_idx.
- Якщо індекс не існує, він поверне помилку, якщо не використано IF EXISTS, який поверне no-op.
- Під час створення індексу ви повинні вказати назву простору ключів разом із назвою індексу, інакше індекс буде видалено з поточного простору ключів.
синтаксис
Drop index IF EXISTS KeyspaceName.IndexName
Приклад
Ось знімок виконаної команди «Drop index», яка видаляє індекс DeptIndex.
drop index IF EXISTS University.DeptIndex;
Після успішного виконання команди DeptIndex буде видалено з простору ключів. Тепер дані не можна фільтрувати за стовпцем dept.