sử dụng CF:truy vấn cql3 với hạn chế hơn 1 EQ và ORDER BY
CREATE TABLE history (
domain text,
iid text,
timeid timeuuid,
data text,
comments text,
PRIMARY KEY (domain, iid, timeid)
);
Tôi muốn truy vấn nó như thế này:
select domain, iid, timeid, data, comments from mappings
where domain = 'a' and iid = 'b' order by timeid desc;
Nhưng nó không có lỗi (cassandra sau 1.1.5):
Bad Request: Order by currently only support the ordering of columns following their declared order in the PRIMARY KEY
Tôi có làm sai không? Điều gì có thể là giải pháp thay thế? Thx
PS Tôi đã làm việc này với giới hạn EQ đơn và ORDER BY nhưng tôi cần ít nhất 2 hạn chế và đặt hàng trước.
Có phải 'iid' là một cột được lập chỉ mục không? – lstern
Tôi không muốn ngăn cản bạn nhưng theo: http://www.datastax.com/dev/blog/whats-new-in-cql-3-0 "ORDER BY mệnh đề chỉ có thể chọn một đơn cột, và cột đó phải là cột thứ hai trong tổng hợp PRIMARY KEY. Điều này giữ ngay cả đối với các bảng có nhiều hơn 2 cột thành phần trong khóa chính. "Hy vọng điều này sẽ sớm thay đổi. Đang thay đổi tùy chọn CF? – Oren
@Istern miễn là iid là một phần của khóa chính tôi mong đợi nó được lập chỉ mục –