ScyllaDB中如何为非主键列another_id创建哈希类型二级索引?
在ScyllaDB中为非主键列创建哈希型二级索引的方法
先看你的表结构:
CREATE TABLE test ( id INT, uniuque_string VARCHAR, another_id INT, PRIMARY KEY ((id, uniuque_string)) );
业务需要执行的查询依赖非主键列another_id:
SELECT * FROM test WHERE another_id = 12;
在ScyllaDB中,你可以直接通过CREATE INDEX语句创建哈希类型的二级索引,语法如下:
CREATE INDEX idx_test_another_id ON test (another_id) USING HASH;
创建完成后,执行SELECT * FROM test WHERE another_id = 12;这类等值查询时,ScyllaDB会利用该哈希索引加速查询,效果和MySQL中的哈希索引类似。
需要注意:哈希二级索引仅适合等值查询场景,不支持范围查询;同时避免在高基数(包含大量唯一值)的列上创建这类索引,否则可能影响性能。
内容的提问来源于stack exchange,提问作者Gregory Sysoev
相关产品推荐
相关产品推荐

