如何在cassandra中创建查找表

时间:2017-10-30 14:57:37

标签: cassandra

我想在 cassandra 中创建一个用作查找表的表。我的数据库中有很多url,想要存储id而不是urls-strings。所以我的方法是将URL存储在一个包含两列的表中:id(int)和url(text)。

我的问题是,我需要 url 字段的索引以及id字段的索引。

在进行新的ulrs期间使用第一个索引(因此在数据库中为url找到id)并在显示期间使用第二个索引数据(获取id的url。)

如何在 cassandra 中实现它?

2 个答案:

答案 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列上创建了一个索引。

相关问题