我创建了一个简单的表格:
CREATE TABLE test (
"type" varchar,
"value" varchar,
PRIMARY KEY(type,value)
);
我向其中插入了5行:
INSERT INTO test(type,value) VALUES('test','tag1')
INSERT INTO test(type,value) VALUES('test','tag2')
INSERT INTO test(type,value) VALUES('test','tag3')
INSERT INTO test(type,value) VALUES('test','tag4')
INSERT INTO test(type,value) VALUES('test','tag5')
我运行了SELECT * from test LIMIT 3
,结果如预期。
type | value
------+------
test | tag1
test | tag2
test | tag3
当我运行
SELECT COUNT(*) from test LIMIT 3
时,它会产生以下结果: count
-------
5
它不应该显示3吗?
根据Datastax文档的说法,指定LIMIT
将覆盖默认值10,000。为什么在这种情况下不起作用?如果有影响,我正在使用Cassandra 2.2.5,并通过cqlsh运行了所有查询。
更新:Java驱动程序和CQLSH都经过测试,表明LIMIT
确实无法按照文档中的说明工作。如果有任何Datastax员工在阅读,请提供意见。
SELECT COUNT
总是返回1行,那么在SELECT COUNT
查询中使用LIMIT
子句是无用的,不是吗?为什么Datastax文档会特别给出像SELECT COUNT(*) FROM big_table LIMIT 50000;
这样的例子呢? - light