检查 cassandra DB 中的表是否为空

mon*_*onk 1 cassandra

我正在尝试找到一种方法来确定 Cassandra DB 中的表是否为空。

cqlsh> SELECT * from examples.basic ;

 key | value
-----+-------

(0 rows)
Run Code Online (Sandbox Code Playgroud)

我正在运行count(*)以获取行数的值,但收到警告消息,所以我想知道是否有更好的方法来检查表是否为空(零行)。

cqlsh> SELECT count(*) from examples.basic ;

 count
-------
     0

(1 rows)

Warnings :
Aggregation query used without partition key

cqlsh>
Run Code Online (Sandbox Code Playgroud)

Car*_*las 5

聚合(如计数)对于您想要完成的任务来说可能是一种矫枉过正,特别是使用星号通配符时,就好像表上有任何数据一样,查询将需要进行全表扫描。如果您有多条记录,这可能会非常昂贵。

获取所需结果的一种方法是查询

cqlsh> SELECT key FROM keyspace1.table1 LIMIT 1;

空表:

结果集将为空

 cqlsh> SELECT key FROM keyspace1.table1 LIMIT 1;

 key
 -----

 (0 rows)
Run Code Online (Sandbox Code Playgroud)

数据表:

结果集会有一条记录

cqlsh> SELECT key FROM keyspace1.table1 LIMIT 1;

key
----------------------------------
uL24bhnsHYRX8wZItWM6xKdS0WLvDsgi

(1 rows)
Run Code Online (Sandbox Code Playgroud)