检查表是否在cassandra DB中为空

时间:2019-06-10 20:19:42

标签: cassandra

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

cqlsh> SELECT * from examples.basic ;

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

(0 rows)

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

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

 count
-------
     0

(1 rows)

Warnings :
Aggregation query used without partition key

cqlsh>

1 个答案:

答案 0 :(得分:3)

聚集(例如count)对于您要完成的工作可能是一个过大的杀伤力,特别是使用星号通配符时,就好像表中有任何数据一样,查询将需要进行全表扫描。如果您有多个记录,这可能会非常昂贵。

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

cqlsh> SELECT key FROM keyspace1.table1 LIMIT 1;

空表:

结果集将为空

 cqlsh> SELECT key FROM keyspace1.table1 LIMIT 1;

 key
 -----

 (0 rows)

带有数据的表:

结果集将有一条记录

cqlsh> SELECT key FROM keyspace1.table1 LIMIT 1;

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

(1 rows)