2

使用 Perl 时Net::Cassandra::Easy,以下代码col[1-3]将从 rows检索列row[1-3]

$result = $cassandra->get(['row1', 'row2', 'row3'], family => 'Standard1', byname => ['col1', 'col2', 'col3');

相应的 SQL 将是:

SELECT col1, col2, col3 FROM rows WHERE id IN ('row1', 'row2', 'row3');

假设我想检索所有列。在 SQL 术语中,这将是:

SELECT * FROM rows WHERE id IN ('row1', 'row2', 'row3');

要获取我当前使用的所有列:

$result = $cassandra->get(['row1', 'row2', 'row3'], family => 'Standard1', byoffset => { "count" => 1_000_000 });

只要列数不超过一百万,此方法就可以工作。虽然这可行,但我认为有一种更清洁的方法可以做到这一点。有没有更简洁的方法可以向 Cassandra 指定我要检索匹配行的所有列?

4

1 回答 1

3

怎么样

$result = $cassandra->get(['row1', 'row2', 'row3'], family => 'Standard1', standard => 1);

standard => 1将强制 Net::Cassandra::Easy 使用匹配族中所有列的切片谓词。

于 2010-03-22T23:21:57.257 回答