카산드라의 보조 색인은 하위 중간 카디널리티 필드에서 가장 잘 작동하며, 특정 상황에서만 최상으로 작동합니다. 테이블 (열 패밀리)을 다양한 방법으로 쿼리 할 수있는 것은 아닙니다. 이 문제를 해결하는 가장 좋은 방법은이 쿼리에 대한 특정 테이블을 모델링하는 것입니다.
CREATE TABLE playlists_by_artist_album_title (
id uuid,
song_order bigint,
album text,
artist text,
song_id uuid,
title text,
PRIMARY KEY (artist, album, title));
이것은 작가 (파티션 키) 모든 항목을 키 입력합니다 : 우리는 이러한 개체의 계층 구조를 따라 경우에 가장 적합한 복합 기본 키와 새 테이블을하게 만드는 (아티스트 앨범 제목이 앨범을 쓰기) 또한 앨범 및 제목으로 결과를 좁힐 수 있습니다. 복합 기본 키를 사용하면 왼쪽에서 오른쪽 순서로 하나 이상의 기본 키 필드로 질의 할 수 있습니다. 이 방법은 song_order별로 정렬하지도 않습니다.
또 다른 방법은 아티스트, 앨범 및 제목별로 항상 검색어를 사용한다는 것을 알고있는 경우입니다. 이런 경우, 당신은 다음과 같이 복합 파티션 키의 일부로 그들 모두를 정의 할 수 있습니다 :
PRIMARY KEY ((artist, album, title), song_order);
을이 모든 쿼리에서 아티스트, 앨범 및 타이틀의 존재를 필요로하지만,이 것 이 데이터를 쿼리하는 가장 빠른 방법입니다. song_order는 클러스터링 열이므로 앨범의 노래 순서가 유지됩니다. 그러나 다시 말하지만, 그것은 모두 제공 될 질의에 달려 있습니다.