我想在 cassandra 中创建一个用作查找表的表。我的数据库中有很多url,想要存储id而不是urls-strings。所以我的方法是将URL存储在一个包含两列的表中:id
(int)和url
(text)。
我的问题是,我需要 url 字段的索引以及id字段的索引。
在进行新的ulrs期间使用第一个索引(因此在数据库中为url找到id
)并在显示期间使用第二个索引数据(获取id的url
。)
如何在 cassandra 中实现它?
答案 0 :(得分:2)
我建议为此创建2个单独的表:
CREATE TABLE id_url (id int primary key, url text);
和
CREATE TABLE url_id (url text primary key, id int);
应使用批处理对这些表进行插入:
BEGIN BATCH
INSERT INTO id_url (id, url) VALUES (1, '<url1>');
INSERT INTO url_id (url, id) VALUES ('<url1>', 1);
APPLY BATCH
答案 1 :(得分:0)
您可以像这样创建表格:
CREATE TABLE urls_table(
id int PRIMARY KEY,
url text
);
然后在第二列上创建索引:
create index urls_table_url on urls_table (url);
您的第一个查询已满足,因为您正在查询分区键。第二个是满意的,因为你在url列上创建了一个索引。