Cassandra的cql查询中“ PER PARTITION LIMIT”是什么意思?

问题描述 投票:0回答:1

我有一个scylla表,如下所示:

cqlsh:sampleks> describe table test;

CREATE TABLE test (
    client_id int,
    when timestamp,
    process_ids list<int>,
    md text,
    PRIMARY KEY (client_id, when) ) WITH CLUSTERING ORDER BY (when DESC)
    AND bloom_filter_fp_chance = 0.01
    AND caching = {'keys': 'ALL', 'rows_per_partition': 'ALL'}
    AND comment = ''
    AND compaction = {'class': 'TimeWindowCompactionStrategy', 'compaction_window_size': '1', 'compaction_window_unit': 'DAYS'}
    AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'}
    AND crc_check_chance = 1.0
    AND dclocal_read_repair_chance = 0.1
    AND default_time_to_live = 0
    AND gc_grace_seconds = 172800
    AND max_index_interval = 1024
    AND memtable_flush_period_in_ms = 0
    AND min_index_interval = 128
    AND read_repair_chance = 0.0
    AND speculative_retry = '99.0PERCENTILE';

而且我看到这就是我们的查询方式。我从事cassandra的工作已经很久了,所以PER PARTITION LIMIT对我来说是新事物(看起来像最近添加的)。有人可以用一些外行语言的例子来解释这是什么吗?我找不到很容易解释的好的文档。

SELECT * FROM test WHERE client_id IN ? PER PARTITION LIMIT 1;
cassandra cqlsh scylla
1个回答
1
投票

PER PARTITION LIMIT子句在“宽分区方案”中可能会有所帮助。它仅返回分区中的前两行。

© www.soinside.com 2019 - 2024. All rights reserved.